導航:首頁 > 編程語言 > java輸出目錄

java輸出目錄

發布時間:2022-05-22 00:28:05

java里File輸出文件目錄的問題

你好,按照你的要求,我給你修改了一上,並給出了注釋,可以直接運行

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class Demo1 {

public static void main(String[] args) {
File file = new File("g:/File");

List<File> list = new ArrayList<File>();// 專用存儲文件夾
list.add(file);
while (!list.isEmpty()) {
File directory = list.get(0);// 取第一個文件夾
list.remove(0);

for (File f : directory.listFiles()) {
if (f.isDirectory()) {
list.add(f);// 是文件夾的話,就存進list
} else {
System.out.println(f);// 不是就直接列印出
}
}
}
}
}

❷ 求正解:java遍歷輸出指定目錄下的所有目錄與文件名

import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
* 讀取目錄及子目錄下指定文件名的路徑 並放到一個數組裡面返回遍歷
* @author zdz8207
*
*/
public class FileViewer {
public static void main(String[] args) {
//List arrayList = FileViewer.getListFiles("d:/com","html",true);

//讀取d:/com下的以java 結尾的文件 如有子目錄,包含之(後綴名為null則為所有文件)
//List arrayList = FileViewer.getListFiles("d:/com","java",true);

//經試驗,後綴不能不填寫,否則編譯不通過,提示「FileViewer.java:17: 非法的表達式開始」。
//另外後綴為""時的情況需要 增加到IF 里去,否則 後綴為""時,不會顯示所有文件
List arrayList = FileViewer.getListFiles("d:/com","",true);
if(arrayList.isEmpty())
{
System.out.println("沒有符號要求的文件");
}
else
{
String message = "";
message += "符號要求的文件數:" + arrayList.size() + "\r\n";
System.out.println(message);

for (Iterator i = arrayList.iterator(); i.hasNext();)
{
String temp = (String) i.next();
System.out.println(temp);
message += temp + "\r\n";
}
//將顯示的文件路徑寫到指定的文件里,若文件不存在,則提示IO異常
//java.io.FileNotFoundException: d:\ajax\menu.txt (系統找不到指定的路徑。)
//如果 加個文件是否存在的判斷,如不存在就在當前目錄新建一個,則更好。
appendMethod("d:/menu.txt",message);
}
}
public static List<String> fileList = new ArrayList<String>();

/**
*
* @param path 文件路徑
* @param suffix 後綴名
* @param isdepth 是否遍歷子目錄
* @return
*/
public static List getListFiles(String path, String suffix, boolean isdepth)
{
File file = new File(path);
return FileViewer.listFile(file ,suffix, isdepth);
}

public static List listFile(File f, String suffix, boolean isdepth)
{
//是目錄,同時需要遍歷子目錄
if (f.isDirectory() && isdepth == true)
{
File[] t = f.listFiles();
for (int i = 0; i < t.length; i++)
{
listFile(t[i], suffix, isdepth);
}
}
else
{
String filePath = f.getAbsolutePath();

System.out.println("suffix = "+suffix);
if(suffix =="" || suffix == null)
{
//後綴名為null則為所有文件
System.out.println("----------------");
fileList.add(filePath);
}
else
{
int begIndex = filePath.lastIndexOf(".");//最後一個.(即後綴名前面的.)的索引
String tempsuffix = "";

if(begIndex != -1)//防止是文件但卻沒有後綴名結束的文件
{
tempsuffix = filePath.substring(begIndex + 1, filePath.length());
}

if(tempsuffix.equals(suffix))
{
fileList.add(filePath);
}
System.out.println("|||||||||||||||||||");
}

}

return fileList;
}

/**
* 方法追加文件:使用FileWriter
* @param fileName
* @param content
*/
public static void appendMethod(String fileName, String content)
{
try
{
//打開一個寫文件器,構造函數中的第二個參數true表示以追加形式寫文件
FileWriter writer = new FileWriter(fileName, true);
writer.write(content + "\r\n");
writer.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
9月

❸ 用java編寫程序,鍵盤輸入一個目錄名稱,要求分別輸出該目錄中所有子目錄名和以exam開頭的文件名。

public static void findFileList(File dir,HashSet dirs,HashSet fileNames ) {
if (!dir.exists() || !dir.isDirectory()) {// 判斷是否存在目錄
return;
}
String[] files = dir.list();// 讀取目錄下的所有目錄文件信息
for (int i = 0; i < files.length; i++) {// 循環,添加文件名或回調自身
File file = new File(dir, files[i]);
if (file.isFile() && file.getName().startsWith("exam")) {// 如果文件
fileNames.add(dir + "\\" + file.getName());
} else {// 如果是目錄
dirs.add(dir);
findFileList(file,dirs,fileNames);// 回調自身繼續查詢
}
}
}
public static void main(String[] args) {
HashSet dirs = new HashSet();
HashSet fileNames = new HashSet();
findFileList(new File("D:\\"),dirs,fileNames);
System.out.println("目錄:"+dirs);
System.out.println("exam開頭的文件:"+fileNames);
}

❹ Java輸出系統當前目錄的信息的語句

1、用createNewFile() 方法創建文件
2、用mkdirs()方法創建文件夾 (目錄??貌似你說的是文件夾吧!!要是確定是創建目錄我就不會咯)
3、用list() 列出系統當前的目錄

❺ Java 文件輸出路徑選著

可以通過swing技術實現,繼承自JFileChooser 即可。也可以設置固定類型的文件選擇。
舉例:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package hkrt.b2b.util;

import java.io.File;
//import java.io.FileFilter;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;

/**

*/
public class FileChooser extends JFileChooser {

JFileChooser jfc = new JFileChooser();

public String openWin() {
jfc.setAcceptAllFileFilterUsed(false);//設置文件過濾條件,在文件選擇中沒有「所有文件」的選項
jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);//設置文件選擇類型,在這里只是選擇具體文件
jfc.setFileFilter(
new FileFilter() {
@Override
public boolean accept(File f) {
if(f.getName().toLowerCase().endsWith(".xls")){
return f.getName().toLowerCase().endsWith(".xls");//添加過濾文件類型。以後綴做判斷
} else if (f.getName().toLowerCase().endsWith(".xlsx")){
return f.getName().toLowerCase().endsWith(".xlsx");
}
return false;
}

@Override
public String getDescription() {
return "Excel File";//在文件類型中的顯示
}
});
jfc.showOpenDialog(null);
File xls = jfc.getSelectedFile();

if(xls == null){
return "";
}
String resultOpen = jfc.getSelectedFile().getPath();//獲取文件路徑
return resultOpen;
}
}
備註:以上方法就獲取到了文件的絕對路徑,返回值即是路徑值。

❻ Java File類 如何輸出指定目錄下所有目錄與文件以及子目錄中的文件

遞歸

importjava.io.File;

publicclassTest{
publicstaticvoidmain(String[]args){
StringrootPath="D:/test";

Filefile=newFile(rootPath);

print(0,file);
}

publicstaticvoidprint(intn,Filefile){
//輸出空格,以便更好的展示目錄結構。如果不需要可刪除
for(inti=0;i<n;i++){
System.out.print("");
}
if(file.isFile()){
System.out.print("文件>");
}else{
System.out.print("目錄>");
}
System.out.println(file.getName());

if(file.isDirectory()){
File[]files=file.listFiles();
for(FilesubFile:files){
print(n+1,subFile);
}
}
}
}

❼ Java 編寫一個程序 實現輸出一個給定目錄中的全部文件的路徑

讀取文件夾下所有文件及文件夾用.list()就可以,返迴文件名包括後綴名。
至於文件大小你試試這個:

public void File(String oldPath, String newPath) { //復制文件
//System.out.println(oldPath+"***"+newPath);
try {
//int bytesum = 0;
int byteread = 0;

InputStream inStream = new FileInputStream(oldPath); // 讀入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1024]; //每次取用的大小
while ((byteread = inStream.read(buffer)) != -1) {
//bytesum += byteread; // 位元組數 文件大小
//System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();

}catch (Exception e) {
System.out.println(" file error");
e.printStackTrace();
}
}
把注釋去了,裡面的bytesum就是文件大小。

❽ Java 如何輸出指定路徑下的所有文件信息,包括文件名,最新編輯時間

獲取文件名


importjava.io.File;
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

publicclassFindFiles{

publicstaticvoidmain(String[]args){
Stringpath="e:/service_all";
FindFilesMethod1(path);
}

(Stringpath){

List<Map<String,Object>>files=newArrayList<Map<String,Object>>();
List<Map<String,Object>>folders=newArrayList<Map<String,Object>>();

Filefile=newFile(path);
File[]tempList=file.listFiles();
System.out.println("該目錄下對象個數:"+tempList.length);
for(inti=0;i<tempList.length;i++){
if(tempList[i].isFile()){
Map<String,Object>filesMap=newHashMap<String,Object>();
filesMap.put("fileUrl",tempList[i].toString().replaceAll("\\","/"));
filesMap.put("fileName",tempList[i].getName().toString().replaceAll("\\","/"));
files.add(filesMap);
}
if(tempList[i].isDirectory()){
Map<String,Object>foldersMap=newHashMap<String,Object>();
foldersMap.put("folderUrl",tempList[i].toString().replaceAll("\\","/"));
foldersMap.put("folderName",tempList[i].getName().toString().replaceAll("\\","/"));
folders.add(foldersMap);
}
}
for(Map<String,Object>realfile:files){
System.out.println("文件路徑:"+realfile.get("fileUrl")+"&文件名:"+realfile.get("fileName"));
}
for(Map<String,Object>realfolder:folders){
System.out.println("文件夾路徑:"+realfolder.get("folderUrl")+"&文件夾名:"+realfolder.get("folderName"));
}

}


}

❾ java遍歷一個目錄,輸出這個那些最少一個文件的那些目錄的絕對路徑,這道題如何用java代碼解決

我就不多說了,直接上代碼吧:

/**
*java遍歷一個目錄,輸出這個那些最少一個文件的那些目錄的絕對路徑,這道題如何用java代碼解決?
*
*@paramargs
*/
publicstaticvoidmain(String[]args){
//設置文件目錄,設置為user.dir目錄,便於測試
Filefolder=newFile(System.getProperty("user.dir"));

System.out.println("根目錄:"+folder.getAbsolutePath());
System.out.println("---------------------------------------------------------------------------");

(folder);

System.out.println("---------------------------------------------------------------------------");
}

/**
*顯示有一個文件以上的文件目錄
*@paramfile文件或目錄
*/
privatestaticvoid(Filefile){
if(file!=null){
if(file.isDirectory()){//只有目錄才處理
File[]files=file.listFiles();
intfileCount=0;//文件數量,即不是文件夾的數量
if(null!=files&&files.length>0){
for(FilesubFile:files){
if(subFile.isFile()){
fileCount++;//文件數目加一
}else{
//繼續檢查下面的文件夾
(subFile);
}
}
}
if(fileCount>0){//說明有文件,需要顯示文件夾的全路徑
System.out.println(file.getAbsolutePath()+":共有文件"+fileCount+"個!");
}
}
}
}

在我機器上的運行結果為:

❿ java 列出目錄結構

public class DirectoryPrinter {

private static List<String> list = new ArrayList<String>();
private static int floor = 0;

public static void printDirectory(File root) {
if (root.isFile()) {
System.out.println(getPreString(floor, root) + root.getName());
} else {
System.out.println(getPreString(floor, root) + root.getName());
floor++;
File[] files = root.listFiles();
setLast(files);
for (File file : files) {
printDirectory(file);
}
floor--;
}
}

private static String getPreString(int floor, File file) {
if (floor == 0)
return "";
String preString = "ㄴ";
for (int i = 1; i < floor; i++) {
file = file.getParentFile();
if (list.contains((file.getAbsolutePath() + file.getName())))
preString = " " + preString;
else
preString = "|" + preString;
}
return preString;
}

private static void setLast(File[] files) {
if (files.length != 0) {
int last = 0;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory())
last = i;
}
list.add(files[last].getAbsolutePath() + files[last].getName());
}
}

public static void main(String[] args) {
DirectoryPrinter.printDirectory(new File("D://workspace//JavaTest"));
}
}

閱讀全文

與java輸出目錄相關的資料

熱點內容
python導出sap 瀏覽:513
車智匯app如何下載 瀏覽:434
python如何將圖片輸出到雲伺服器 瀏覽:838
貴陽螺桿壓縮冷凝機組組成 瀏覽:115
掃描製作pdf 瀏覽:515
2016奇駿車機如何安裝app 瀏覽:764
phpvc9x64 瀏覽:73
蜜語星球解壓 瀏覽:476
c語言編譯器怎麼打不開 瀏覽:818
海印程序員 瀏覽:648
為什麼華為手機找不到伺服器 瀏覽:664
pdf增減 瀏覽:608
雲伺服器怎麼公網架設網站 瀏覽:91
pythonrequests慢 瀏覽:140
excel保存沒有pdf 瀏覽:922
冰箱壓縮機管囗示意圖 瀏覽:497
許振民編譯局 瀏覽:625
雙網路加什麼伺服器好用 瀏覽:211
linux命令中文 瀏覽:839
python怎麼做物聯網 瀏覽:731