導航:首頁 > 編程語言 > java循環文件夾

java循環文件夾

發布時間:2023-06-15 04:44:35

javafor循環處理文件,要在循環內部關閉流嗎

這種問題我太熟了,有x種解決方法介紹給你們。

在 Java 中使用循環處理文件時,需要注意保證流的正確關閉,否則可能導致內存泄漏和其他問題。在循環內部關閉流也是一個不錯的選擇,但要確保在每次循環迭代兆悉結束時都關閉相關的流。

在實踐中,可以將流的創建和關閉放入 try-with-resources 語句塊中,以確保流正確關閉。示例如下:

在這個示例中,我們使用了 try-with-resources 語句塊來創建文件輸入流和緩沖讀取器,並在結束後自動關閉它們。在循環族山乎內部,我們可以處理每一行的內容,而無需手動關閉流。

總之,為了確保文件訪問的安全性和效率唯兆,建議在循環內部關閉相關流,並使用 try-with-resources 語句塊來保護資源的正確關閉。

就是這些啦,整理不易,看完記得點個贊再走呀~

❷ java循環獲取文件夾里文件創建時間 。。

可以通過File流的讀取所有的文件,之後通過Runtime.getRuntime().exec方法獲取時間。
舉例:

File file = new File("F://2007vb6");// 文件目錄
try {
for (File demoFile : file.listFiles()) {
Process ls_proc = Runtime.getRuntime().exec(
"cmd.exe /c dir " + file.getAbsolutePath() + " /tc");// 通過DOS獲得的創建時間
InputStream is = ls_proc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String str;
int i = 0;
while ((str = br.readLine()) != null) {
i++;
if (i == 6) {
System.out.println("Create time:" + str.substring(0, 17)); //創建時間獲取
}
}
}

❸ java怎麼循環讀取目錄下的文件內容

JAVA 遍歷文件夾下的所有文件(遞歸調用和非遞歸調用)
1.不使用遞歸的方法調用。
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0;
File file = new File(path);
if (file.exists()) {
LinkedList<File> list = new LinkedList<File>();
File[] files = file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夾:" + file2.getAbsolutePath());
list.add(file2);
fileNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
folderNum++;
}
}
File temp_file;
while (!list.isEmpty()) {
temp_file = list.removeFirst();
files = temp_file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夾:" + file2.getAbsolutePath());
list.add(file2);
fileNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
folderNum++;
}
}
}
} else {
System.out.println("文件不存在!");
}
System.out.println("文件夾共有:" + folderNum + ",文件共有:" + fileNum);

}
2.使用遞歸的方法調用
public static List<File> getFileList(String strPath) {
File dir = new File(strPath);
File[] files = dir.listFiles(); // 該文件目錄下文件全部放入數組
if (files != null) {
for (int i = 0; i < files.length; i++) {
String fileName = files[i].getName();
if (files[i].isDirectory()) { // 判斷是文件還是文件夾
getFileList(files[i].getAbsolutePath()); // 獲取文件絕對路徑
} else if (fileName.endsWith("avi")) { // 判斷文件名是否以.avi結尾
String strFileName = files[i].getAbsolutePath();
System.out.println("---" + strFileName);
filelist.add(files[i]);
} else {
continue;
}
}

}
return filelist;
}

❹ 在java中如何遍歷某個路徑下的所有文件夾和文件

首先,我們先來遍歷一下D盤根目錄下所有的子文件:public
static
void
fileList()
{
File
file=new
File("d:/");
File[]
files
=
file.listFiles();
if
(files
!=
null)
{
for
(File
f
:
files)
{
System.out.println(f.getPath());
}
}
}對此,我們肯定不滿足,我們需要遍歷D盤下所有的文件和文件夾,而不是根目錄下的文件夾,這個時候我們需要使用到遞歸:public
static
void
fileList(File
file)
{
File[]
files
=
file.listFiles();
if
(files
!=
null)
{
for
(File
f
:
files)
{
System.out.println(f.getPath());
fileList(f);
}
}
}然後在主函數中調用:public
static
void
main(String[]
args)
{
File
file=new
File("d:/");
fileList(file);
}結果是不是能令你滿意呢?顯然,輸出的都是全路徑,我們可以對我們的遞歸函數做如下改進:
public
static
void
fileList(File
file,int
node)
{
node++;
File[]
files
=
file.listFiles();
if
(files
!=
null)
{
for
(File
f
:
files)
{
for(int
i=0;i<node;i++){
if(i==node-1){
System.out.print("├");
}
else{
System.out.print("
");
}
}
System.out.println(f.getName());
fileList(f,node);
}
}
}然後再次在主函數中調用:public
static
void
main(String[]
args)
{
File
file=new
File("d:/");
fileList(file,0);
}得到的結果是一個類似樹狀的結構,如果你對此還不滿意,可以嘗試給JTree上添加節點,可以做到和資源管理器中一樣的結構。

❺ java 循環讀取一個指定文件夾下的所有文件,提供大致代碼的思路吧,謝謝~

publicstaticList<File>getFiles(Stringpath){
Fileroot=newFile(path);
List<File>files=newArrayList<File>();
if(!root.isDirectory()){
files.add(root);
}else{
File[]subFiles=root.listFiles();
for(Filef:subFiles){
files.addAll(getFiles(f.getAbsolutePath()));
}
}
returnfiles;
}

publicstaticvoidmain(String[]args){
List<File>files=getFiles("D:\usr\local\java\jdk1.6.0_30");
for(Filef:files){
System.out.println(f.getName());
}
}

大概就是這樣了,沒有做異常處理,自己看著辦~

❻ java遍歷指定文件夾下的所有子文件夾怎麼操作

import java.io.File ;
import java.io.IOException ;
public class FileDemo11{
public static void main(String args[]){
File my = new File("d:" + File.separator) ;// 操作路徑,可以有外部參數決定的
print(my) ;
}
public static void print(File file){// 遞歸調用
if(file!=null){// 判斷對象是否為空專
if(file.isDirectory()){// 如果是目錄屬
File f[] = file.listFiles() ;// 列出全部的文件
if(f!=null){// 判斷此目錄能否列出
for(int i=0;i<f.length;i++){
print(f[i]) ;// 因為給的路徑有可能是目錄,所以,繼續判斷
}
}
}else{
System.out.println(file) ;// 輸出路徑
}
}
}
};

閱讀全文

與java循環文件夾相關的資料

熱點內容
如何正確認識網路兼職 瀏覽:198
手機高清地圖實景app哪個好 瀏覽:815
08cad畫圖的文件怎麼重命名 瀏覽:221
視力數據怎麼看遠視儲備 瀏覽:519
對等網路標識管理服務 瀏覽:188
蘋果怎麼重新刷機 瀏覽:258
還有哪些少兒編程培訓機構 瀏覽:508
ps怎麼去掉文件中不需要的部分 瀏覽:793
微信信用度在哪兒看 瀏覽:72
java監聽器延時 瀏覽:726
itunes備份包含微信聊天記錄 瀏覽:20
怎麼向虛擬機傳文件 瀏覽:677
win10怎麼用軟體激活不了 瀏覽:816
美版a1453是什麼版本 瀏覽:517
電腦里的文件夾按照拼音歸類 瀏覽:996
文件管理器怎麼把視頻壓縮成文件 瀏覽:477
標准化文件名稱包括哪些 瀏覽:85
win10不能讀取dll文件 瀏覽:882
雲騎士重裝系統找不到usb字樣文件 瀏覽:42
皖事通app社保年限在哪裡看 瀏覽:65

友情鏈接