❶ 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)是包括当前文件及其子文件的文件名。