❶ java 如何讀取指定文件夾內的所有文件夾及文件,然後在頁面上以樹的形式顯示出來。
我給你一個讀取指定文件夾下面的所有文件夾,和文件的代碼。
至於頁面上用樹來顯示,html的話,這個有點麻煩。
swing的話,你就只需要用DefaultTreeModel.add(new TreeNode("XXX"));
public class GetAllFiles{
private String filePath = "C:/windows"; // 讀取C:/windos文件
private File f = null;
public GetAllFiles(){
f = new File(filePath);
}
public List<File> getAllFile(){
File[] fileInF = f.listFiles(); // 得到f文件夾下面的所有文件。
List<File> list = new List<File>();
for(File file : fileInF){
list.add(file);
}
return list;
}
public static void main(String[] args){
new GetAllFiles().getAllFile();
}
}
❷ java 如何讀取文件夾中文件
package sample;
import java.io.*;
public class CopyFileStream{ // one file to another file
public static void main(String args[]) {
FileInputStream fromFile=null;
FileOutputStream toFile=null;
try{
//生成兩個已有byte文件的 流對象。
fromFile=new FileInputStream(args[0]); // get file name from console
toFile=new FileOutputStream(args[1]); // get file name from console
} catch (FileNotFoundException e){
System.err.println("File could not be found");
return; //缺文件名輸入,拋異常,返回。
} catch (IOException e){
System.err.println("File could not be copied ");
return;
} catch ( e){
System.err.println("Usage: CopyByteFile from-file to-file");
return;
}
try {
fromFile.close(); // close InputStream
toFile.close(); // close OutputStream
}catch (IOException e){
System.err.println("Error closing File.");
}
}
}
File類下的exists();方法是判斷文件是否存在返回值是boolean
❸ java處理讀取一個文件夾下的10個文件後再讀取11~20該如何實現呢
File[]files=newFile("").listFiles();
intn=0;
StringBuilderbuffer=newStringBuilder();
for(inti=0;i<files.length;i++){
//讀文件
buffer.append("讀取的文件內容,自己去寫,很簡單的");
n++;
if(n==10){
n=0;
//寫文件
//清空緩存
buffer=newStringBuilder();
}
}
if(n>0){
n=0;
//寫文件
//清空緩存
buffer=newStringBuilder();
}
❹ java怎麼使用io流讀取一個文件夾裡面
可以通過BufferedReader 流的形式進行流讀取,之後通過readLine方法獲取到讀取的內容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
System.out.println(str);//原樣輸出讀到的內容
};
備註: 流用完之後必須close掉,如上面的就應該是:bre.close(),否則bre流會一直存在,直到程序運行結束。
❺ java 讀取zip裡面的文件夾
給你思路就可以了。你可以先創建ZipFile 將裡面的文件取出來放到file 中,然後用文件流讀出來。
❻ java實現動態讀取文件夾文件信息
java動態讀取某個文件夾下的所有文件信息,代碼如下:
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.File;
publicclassReadFile{
publicReadFile(){
}
/**
*動態讀取某個文件夾下的所有文件信息
*/
publicstaticbooleanreadfile(Stringfilepath)throwsFileNotFoundException,IOException{
try{
Filefile=newFile(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());
}elseif(file.isDirectory()){
System.out.println("文件夾");
String[]filelist=file.list();
for(inti=0;i<filelist.length;i++){
Filereadfile=newFile(filepath+"\"+filelist[i]);
if(!readfile.isDirectory()){
System.out.println("path="+readfile.getPath());
System.out.println("absolutepath="
+readfile.getAbsolutePath());
System.out.println("name="+readfile.getName());
}elseif(readfile.isDirectory()){
readfile(filepath+"\"+filelist[i]);
}
}
}
}catch(FileNotFoundExceptione){
System.out.println("readfile()Exception:"+e.getMessage());
}
returntrue;
}
publicstaticvoidmain(String[]args){
try{
readfile("e:/videos");
//deletefile("D:/file");
}catch(FileNotFoundExceptionex){
}catch(IOExceptionex){
}
System.out.println("ok");
}
}
❼ 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中怎樣通過界面操作讀取任何一個文件夾里的文件
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
public class GUIDemo1 extends JFrame{
private static final String TARGET_FILE = "F:\\a.txt";
private JButton saveButton;
private JButton loadButton;
private TextArea textArea;
private Container container;
private File targetFile;
public GUIDemo1() throws IOException {
super("File Demo");
setLayout(new FlowLayout());
container = getContentPane();
targetFile = new File(TARGET_FILE);
if(targetFile.createNewFile()) {
System.out.println("文件不存在,創建成功");
}else {
System.out.println("文件存在");
}
textArea = new TextArea();
saveButton = new JButton("save");
loadButton = new JButton("load");
saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
FileWriter writer = new FileWriter(targetFile);
String result = textArea.getText();
writer.write(result);
writer.close();
textArea.setText("");
System.out.println("存檔成功");
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
loadButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
FileReader reader = new FileReader(targetFile);
char[] buffer = new char[1024];
StringBuffer result = new StringBuffer();
int len;
while((len = reader.read(buffer)) != -1) {
result.append(buffer,0,len);
}
reader.close();
textArea.setText(result.toString());
System.out.println("讀檔成功");
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
container.add(textArea);
container.add(loadButton);
container.add(saveButton);
setSize(500, 300);
setVisible(true);
}
public static void main(String[] args) throws IOException {
GUIDemo1 demo = new GUIDemo1();
demo.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
❾ java中在怎麼讀取文件夾中的內容
以下java程序的作用是將當前目錄及其子目錄中的.java文件收集到collection.txt文件中,並添加行號,你可以參考一下。
import java.io.*;
public class Collection
{
public static void main(String[] args) throws Exception
{
final String F=".\\collection.txt";
FW=new FileWriter(new File(F));
Collection.ProcessDirectory(new File("."));
Collection.FW.flush();
Collection.FW.close();
}
private static void ProcessDirectory(File d) throws Exception
{
File[] ds=null;
Collection.ProcessJavaFile(d);
ds=d.listFiles(Collection.DFilter);
for(int i=0;i<ds.length;i++)
{
Collection.ProcessDirectory(ds[i]);
}
}
private static void ProcessJavaFile(File d) throws Exception
{
String line=null;
LineNumberReader lnr=null;
File[] fs=d.listFiles(Collection.FNFilter);
for(int i=0;i<fs.length;i++)
{
lnr=new LineNumberReader(new FileReader(fs[i]));
Collection.FW.write(fs[i].getCanonicalPath()+"\r\n");
System.out.println(fs[i].getCanonicalPath());
while(null!=(line=lnr.readLine()))
{
Collection.FW.write(""+lnr.getLineNumber()+" "+line+"\r\n");
System.out.println(""+lnr.getLineNumber()+" "+line);
}
Collection.FW.write("\r\n");
System.out.println();
}
}
private static FileWriter FW;
private static FilenameFilter FNFilter=new FilenameFilter()
{
public boolean accept(File dir,String name)
{
return name.endsWith(".java");
}
};
private static FileFilter DFilter=new FileFilter()
{
public boolean accept(File pathname)
{
return pathname.isDirectory();
}
};
}
❿ 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());
}
}
}
(10)java讀取文件夾擴展閱讀:
如果想要獲得當前文件中的文件名只需要String [] fileName = file.list();就可以了。
如果要包括文件中的文件名就可以用遞歸的方式。下面是兩個具體的實現。
其中public static String [] getFileName(String path)是只得到當前文件中的文件名。
public static void getAllFileName(String path,ArrayList<String> fileName)是包括當前文件及其子文件的文件名。