『壹』 java 如何讀取目錄下的文件內容
Java讀取目錄下的文件內容,使用的是java的文件類,示例如下:
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.RandomAccessFile;
importjava.io.Reader;
publicclassReadFromFile{
/**
*以位元組為單位讀取文件,常用於讀二進制文件,如圖片、聲音、影像等文件。
*
*@paramfileName
*文件的名
*/
(StringfileName){
Filefile=newFile(fileName);
InputStreamin=null;
try{
System.out.println("以位元組為單位讀取文件內容,一次讀一個位元組:");
//一次讀一個位元組
in=newFileInputStream(file);
inttempbyte;
while((tempbyte=in.read())!=-1){
System.out.write(tempbyte);
}
in.close();
}catch(IOExceptione){
e.printStackTrace();
return;
}
try{
System.out.println("以位元組為單位讀取文件內容,一次讀多個位元組:");
//一次讀多個位元組
byte[]tempbytes=newbyte[100];
intbyteread=0;
in=newFileInputStream(fileName);
ReadFromFile.showAvailableBytes(in);
//讀入多個位元組到位元組數組中,byteread為一次讀入的位元組數
while((byteread=in.read(tempbytes))!=-1){
System.out.write(tempbytes,0,byteread);
}
}catch(Exceptione1){
e1.printStackTrace();
}finally{
if(in!=null){
try{
in.close();
}catch(IOExceptione1){
}
}
}
}
/**
*以字元為單位讀取文件,常用於讀文本,數字等類型的文件
*
*@paramfileName
*文件名
*/
(StringfileName){
Filefile=newFile(fileName);
Readerreader=null;
try{
System.out.println("以字元為單位讀取文件內容,一次讀一個位元組:");
//一次讀一個字元
reader=newInputStreamReader(newFileInputStream(file));
inttempchar;
while((tempchar=reader.read())!=-1){
//對於windows下, 這兩個字元在一起時,表示一個換行。
//但如果這兩個字元分開顯示時,會換兩次行。
//因此,屏蔽掉 ,或者屏蔽 。否則,將會多出很多空行。
if(((char)tempchar)!=' '){
System.out.print((char)tempchar);
}
}
reader.close();
}catch(Exceptione){
e.printStackTrace();
}
try{
System.out.println("以字元為單位讀取文件內容,一次讀多個位元組:");
//一次讀多個字元
char[]tempchars=newchar[30];
intcharread=0;
reader=newInputStreamReader(newFileInputStream(fileName));
//讀入多個字元到字元數組中,charread為一次讀取字元數
while((charread=reader.read(tempchars))!=-1){
//同樣屏蔽掉 不顯示
if((charread==tempchars.length)
&&(tempchars[tempchars.length-1]!=' ')){
System.out.print(tempchars);
}else{
for(inti=0;i<charread;i++){
if(tempchars[i]==' '){
continue;
}else{
System.out.print(tempchars[i]);
}
}
}
}
}catch(Exceptione1){
e1.printStackTrace();
}finally{
if(reader!=null){
try{
reader.close();
}catch(IOExceptione1){
}
}
}
}
/**
*以行為單位讀取文件,常用於讀面向行的格式化文件
*
*@paramfileName
*文件名
*/
(StringfileName){
Filefile=newFile(fileName);
BufferedReaderreader=null;
try{
System.out.println("以行為單位讀取文件內容,一次讀一整行:");
reader=newBufferedReader(newFileReader(file));
StringtempString=null;
intline=1;
//一次讀入一行,直到讀入null為文件結束
while((tempString=reader.readLine())!=null){
//顯示行號
System.out.println("line"+line+":"+tempString);
line++;
}
reader.close();
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(reader!=null){
try{
reader.close();
}catch(IOExceptione1){
}
}
}
}
/**
*隨機讀取文件內容
*
*@paramfileName
*文件名
*/
(StringfileName){
RandomAccessFilerandomFile=null;
try{
System.out.println("隨機讀取一段文件內容:");
//打開一個隨機訪問文件流,按只讀方式
randomFile=newRandomAccessFile(fileName,"r");
//文件長度,位元組數
longfileLength=randomFile.length();
//讀文件的起始位置
intbeginIndex=(fileLength>4)?4:0;
//將讀文件的開始位置移到beginIndex位置。
randomFile.seek(beginIndex);
byte[]bytes=newbyte[10];
intbyteread=0;
//一次讀10個位元組,如果文件內容不足10個位元組,則讀剩下的位元組。
//將一次讀取的位元組數賦給byteread
while((byteread=randomFile.read(bytes))!=-1){
System.out.write(bytes,0,byteread);
}
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(randomFile!=null){
try{
randomFile.close();
}catch(IOExceptione1){
}
}
}
}
/**
*顯示輸入流中還剩的位元組數
*
*@paramin
*/
(InputStreamin){
try{
System.out.println("當前位元組輸入流中的位元組數為:"+in.available());
}catch(IOExceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args){
StringfileName="C:/temp/newTemp.txt";
ReadFromFile.readFileByBytes(fileName);
ReadFromFile.readFileByChars(fileName);
ReadFromFile.readFileByLines(fileName);
ReadFromFile.readFileByRandomAccess(fileName);
}
}
『貳』 java如何查找目錄下是否有特定文件
package com.cn.leng;
import java.io.File;
import java.io.FilenameFilter;
public class ListFile {
private String filepre;//文件前綴
private String filesux;//文件後綴
public void listFile(String dir, String prefix, String suffix){
File fileTarget = new File(dir);//取得目標目錄
filepre = prefix;
filesux =suffix;
if(fileTarget.exists()){//判斷目錄是否存在
File[] fileLogs = fileTarget.listFiles(
new FilenameFilter(){
public boolean accept(File dir, String name) {
return ((name.startsWith(filepre))&&(name.endsWith(filesux)));//使用FilenameFilter類過濾取得滿足指定條件的文件的文件數組
}
}
);
if(fileLogs.length > 0){
for(int i = 0; i<fileLogs.length; i++){
System.out.println(fileLogs[i].getName());
}
}else{
System.err.println("we cant find the file start with:"+ prefix);
System.exit(0);
}
}else{
System.err.print("we cant find the path:"+ fileTarget);
}
}
public static void main(String[] args) {
ListFile lf = new ListFile();
lf.listFile("C:\swserver\ipe113\logs","eai","log");
}
}
『叄』 java怎麼查看路徑
系統環境變數,path的值?
計算機->右鍵「屬性」->高級系統設置->高級選項卡->環境變數
下面系統變數里有個path,值裡面找Java的bin目錄所在路徑,如果沒有的話,需要加入(在值得最後加一個半形英文分號然後跟上bin目錄地址,如「;C://Programe Files/java/jdk1.7.0/bin」)
『肆』 用java寫一段程序掃描文件夾下所有後綴為.txt的文件代碼
《用java寫一段程序掃描文件夾下所有後綴》網路網盤txt 最新全集下載
鏈接: https://pan..com/s/1nKtaJpp1I3E0tTe3BGVS9Q
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。
『伍』 如何用java實現定時掃描文件夾
寫一個類繼承Thread,重寫run方法,在run方法裡面寫你要做的處理,然後根據你的定時要求來設置sleep的時間。
newThread(){
run(){
//根據具體需求設置時間:毫秒
sleep(100ms);
while(true){
//掃描文件夾處理
....
//根據具體需求設置時間:毫秒
sleep(24*3600*1000);
}
}
}
java中不是有定時器嗎?寫好自己的任務,定時執行就可以了
Timertimer=newTimer();
Tasktask=newTask(){
publicvoidrun(){
System.out.println("running...");
}
};
timer.shele(task,delayDate,internalTime);
這種跟操作系統關系緊密的操作沒必要用java來做,除非你是J2EE,那麼Spring里有quataz類似Unix裡面cronjob的開源框架可以用,很方便
Unix、linux操作系統配到cronjob里即可,Windows操作系統的「開始」-》「附件」-》系統工具-》計劃任務
『陸』 怎麼查看java安裝目錄
java的默認安裝目錄:C:Program FilesJava,在沒有修改安裝目錄的情況下,直接到這個路徑找就可以,如果有修改安裝路徑,則可用如下方法查看安裝目錄:
1、點擊開始,選擇程序,找到java;
2、任意選擇一個文件,點擊右鍵,選擇屬性;
3、在打開的屬性對話框中查看安裝路徑,如圖所示:
『柒』 Java怎麼實現掃描多個目錄中(包括子目錄)的指定文件,並且刪除它們
思路如下使用遞歸
public static void de(File f)
{ File [] b = f.listFiles();
//獲取包含file對象對應的子目錄或者文件
for(int i =0;i<b.length;i++}{
if(b[i].isFile()){
b[i].delete(); //判斷是否為文件如果是 就刪除 }
else{ de(b[i]);//否則重新遞歸到方法中 }
} f.delete();//最後刪除該目錄中所有文件後就刪除該目錄 }
『捌』 java編輯一個掃描文件的方法,要求可以掃描根目錄下的所有文件
package com.sunjob;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
public class Js {
/**
* @param args
*/
//初始化n,用於計數
static int n=0;
public static void get(File file) {
try {
//判斷文件是否是文件,如果是文件,獲取路徑,並計數
if(file.isFile())
{
n++;
System.out.println(file.getAbsolutePath());
}
else
{
//如果是文件夾,聲明一個數組放文件夾和他的子文件
File[] f=file.listFiles();
//遍歷文件件下的文件,並獲取路徑
for (File file2 : f) {
get(file2);
}
}
} catch (RuntimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
這是掃描c盤的所有文件,可以修改
File file=new File("c:\\");
get(file);
System.out.println("文件個數為:"+n);
}
}