導航:首頁 > 編程語言 > java獲取目錄下的文件

java獲取目錄下的文件

發布時間:2022-08-17 00:52:38

『壹』 java 怎麼獲取指定路徑下的文件

//根據你的要求修改了一下代碼,現在已經能將某文件夾下的所有指定類型文件復制到
//指定文件夾下了
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class ReadFiles {
public static final String FILTER = "xml";
public static final String SRC_DIR = "E:\\StudyData";// 待掃描的文件夾
public static final String DES_DIR = "E:\\testdata";// 復制後的目標文件夾

public static void main(String[] args) {
long a = System.currentTimeMillis();
scanDir(SRC_DIR, DES_DIR);
System.out.println("共花費時間:"+(System.currentTimeMillis() - a)/1000+"秒");
}

public static void scanDir(String srcPath, String desPath) {
File dir = new File(srcPath);
File[] files = dir.listFiles();

if (files == null)
return;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
scanDir(files[i].getAbsolutePath(), desPath);
} else {
String strFileName = files[i].getAbsolutePath().toLowerCase();
File(strFileName, desPath + files[i].getName());
}
}
}

public static void File(String srcName, String destName) {
if (srcName.endsWith(FILTER)) {
System.out.println("正在復制文件 "+srcName+" 至 "+destName);
try {
BufferedInputStream in = new BufferedInputStream(
new FileInputStream(srcName));
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(destName));
int i = 0;
byte[] buffer = new byte[2048];
while ((i = in.read(buffer)) != -1) {
out.write(buffer, 0, i);
}
out.close();
in.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}

『貳』 java怎樣獲得某個目錄下所有文件的文件名

java中獲得一個文件夾中的所有文件名代碼如下:

packagecom.readfile;

importjava.io.File;

publicclassGetAllFiles {

publicstaticvoidmain(String[] args) {

//路徑 這里寫一個路徑進去

String path="F:\QQ文檔";

//調用方法

getFiles(path);

}

/**

* 遞歸獲取某路徑下的所有文件,文件夾,並輸出

*/

publicstaticvoidgetFiles(String path) {

File file =newFile(path);

// 如果這個路徑是文件夾

if(file.isDirectory()) {

// 獲取路徑下的所有文件

File[] files = file.listFiles();

for(inti =0; i < files.length; i++) {

// 如果還是文件夾 遞歸獲取裡面的文件 文件夾

if(files[i].isDirectory()) {

System.out.println("目錄:"+ files[i].getPath());

getFiles(files[i].getPath());

}else{

System.out.println("文件:"+ files[i].getPath());

}

}

}else{

System.out.println("文件:"+ file.getPath());

}

}

}

(2)java獲取目錄下的文件擴展閱讀:

如果想要獲得當前文件中的文件名只需要String [] fileName = file.list();就可以了。

如果要包括文件中的文件名就可以用遞歸的方式。下面是兩個具體的實現。

其中public static String [] getFileName(String path)是只得到當前文件中的文件名。

public static void getAllFileName(String path,ArrayList<String> fileName)是包括當前文件及其子文件的文件名。

『叄』 java怎麼讀取文件夾下的所有文件

上面方法也可以,我這種直接就可以得到名字,不需要先轉化為File對象
File
file=new
File("D:\\");
String
test[];
test=file.list();
for(int
i=0;i
評論
0
0
載入更多

『肆』 java讀取指定目錄下的文件內容

publicclassReadFromFile{
/**
*以位元組為單位讀取文件,常用於讀二進制文件,如圖片、聲音、影像等文件。
*/
(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){
}
}
}
}

/**
*以字元為單位讀取文件,常用於讀文本,數字等類型的文件
*/
(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){
}
}
}
}

/**
*以行為單位讀取文件,常用於讀面向行的格式化文件
*/
(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){
}
}
}
}

/**
*隨機讀取文件內容
*/
(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){
}
}
}
}

/**
*顯示輸入流中還剩的位元組數
*/
(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怎麼讀取目錄下的所有文件

這個要求比較苛刻emmm...
給你個思路吧,如果你不想寫的話可以追問我,因為我沒有時間,所以就不寫了
先用File類實例該文件夾,然後讀取其目錄下的所有文件,如果是文件獲取它的文件名字,判斷是否以.txt結尾,如果是的話用正則表達式匹配,將匹配的部分(把正則給你吧,[^\w\.]* )進行刪除,更改該文件名字(如果在其他文件夾生成就很麻煩,所以先復制一份,再操縱那一份重命名也不影響對吧(皮))

『陸』 java中怎樣獲得一個文件夾中的所有文件名

java中獲得一個文件夾中的所有文件名代碼如下:

packagecom.readfile;

importjava.io.File;

publicclassGetAllFiles {

publicstaticvoidmain(String[] args) {

//路徑 這里寫一個路徑進去

String path="F:\QQ文檔";

//調用方法

getFiles(path);

}

/**

* 遞歸獲取某路徑下的所有文件,文件夾,並輸出

*/

publicstaticvoidgetFiles(String path) {

File file =newFile(path);

// 如果這個路徑是文件夾

if(file.isDirectory()) {

// 獲取路徑下的所有文件

File[] files = file.listFiles();

for(inti =0; i < files.length; i++) {

// 如果還是文件夾 遞歸獲取裡面的文件 文件夾

if(files[i].isDirectory()) {

System.out.println("目錄:"+ files[i].getPath());

getFiles(files[i].getPath());

}else{

System.out.println("文件:"+ files[i].getPath());

}

}

}else{

System.out.println("文件:"+ file.getPath());

}

}

}

(6)java獲取目錄下的文件擴展閱讀:

如果想要獲得當前文件中的文件名只需要String [] fileName = file.list();就可以了。

如果要包括文件中的文件名就可以用遞歸的方式。下面是兩個具體的實現。

其中public static String [] getFileName(String path)是只得到當前文件中的文件名。

public static void getAllFileName(String path,ArrayList<String> fileName)是包括當前文件及其子文件的文件名。

『柒』 java怎麼取當前目錄下的文件

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.File;

public class ReadFile {
public ReadFile() {
}
/**
* 讀取某個文件夾下的所有文件
*/
public static boolean readfile(String filepath) throws FileNotFoundException, IOException {
try {

File file = new File(filepath);
if (!file.isDirectory()) {
System.out.println("文件");
System.out.println("path=" + file.getPath());
System.out.println("absolutepath=" + file.getAbsolutePath());
System.out.println("name=" + file.getName());

} else if (file.isDirectory()) {
System.out.println("文件夾");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filepath + "\\" + filelist[i]);
if (!readfile.isDirectory()) {
System.out.println("path=" + readfile.getPath());
System.out.println("absolutepath="
+ readfile.getAbsolutePath());
System.out.println("name=" + readfile.getName());

} else if (readfile.isDirectory()) {
readfile(filepath + "\\" + filelist[i]);
}
}

}

} catch (FileNotFoundException e) {
System.out.println("readfile() Exception:" + e.getMessage());
}
return true;
}

/**
* 刪除某個文件夾下的所有文件夾和文件
*/

/*public static boolean deletefile(String delpath)
throws FileNotFoundException, IOException {
try {

File file = new File(delpath);
if (!file.isDirectory()) {
System.out.println("1");
file.delete();
} else if (file.isDirectory()) {
System.out.println("2");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File delfile = new File(delpath + "\\" + filelist[i]);
if (!delfile.isDirectory()) {
System.out.println("path=" + delfile.getPath());
System.out.println("absolutepath="
+ delfile.getAbsolutePath());
System.out.println("name=" + delfile.getName());
delfile.delete();
System.out.println("刪除文件成功");
} else if (delfile.isDirectory()) {
deletefile(delpath + "\\" + filelist[i]);
}
}
file.delete();

}

} catch (FileNotFoundException e) {
System.out.println("deletefile() Exception:" + e.getMessage());
}
return true;
}*/

public static void main(String[] args) {
try {
readfile("e:/videos");
// deletefile("D:/file");
} catch (FileNotFoundException ex) {
} catch (IOException ex) {
}
System.out.println("ok");
}

『捌』 java中如何獲取目錄中的所有文件

public static void list(File path, String[] extArr,HashMap hm) {
if (!path.exists()) {
System.out.println("文件名稱不存在!");
} else {
if (path.isFile()) {
for (int i = 0; i < extArr.length; i++) {
if (path.getName().toLowerCase().endsWith(extArr[i])) {// 文件格式
hm.put(path.getName(), path);
}
}

} else {
File[] files = path.listFiles();
for (int i = 0; i < files.length; i++) {
list(files[i], extArr,hm);
}
}
}
}

閱讀全文

與java獲取目錄下的文件相關的資料

熱點內容
java筆試編程題 瀏覽:740
win11什麼時候可以裝安卓 瀏覽:560
java不寫this 瀏覽:999
雲點播電影網php源碼 瀏覽:95
pythonclass使用方法 瀏覽:224
移動加密軟體去哪下載 瀏覽:294
php彈出alert 瀏覽:208
吉林文檔課件加密費用 瀏覽:136
感測器pdf下載 瀏覽:288
隨車拍app綁定什麼設備 瀏覽:898
方維團購系統源碼 瀏覽:993
linux反彈shell 瀏覽:159
列印機介面加密狗還能用嗎 瀏覽:301
二板股票源碼 瀏覽:448
度人經pdf 瀏覽:902
怎麼配置android遠程伺服器地址 瀏覽:960
java程序員看哪些書 瀏覽:943
什麼app可以免費和外國人聊天 瀏覽:797
pdf手寫筆 瀏覽:182
別永遠傷在童年pdf 瀏覽:990