应项目需要和课程与要求,需要写一个代码逐一打开同文件夹下所有文件。同时,本代码修复了因编码带来的问题,如有更多问题可以评论或者私信我。
package erkedecision;
/**
*
* @author zhanglipeng
*/
import erkedecision.CLibrary;
import erkedecision.Select;
import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Frame;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.util.Vector;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;
import com.sun.jna.Library;
import com.sun.jna.Native;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ErkeDecision {
//遍历文件夹下所有文件
public static void getAllFileName(String path,ArrayList<String> listFileName){
File file = new File(path);
File [] files = file.listFiles();
String [] names = file.list();
if(names != null){
String [] completNames = new String[names.length];
for(int i=0;i<names.length;i++){
completNames[i]=path+names[i];
}
listFileName.addAll(Arrays.asList(completNames));
}
}
//打开文件
public static void readFile(String m) {
String pathname = m;
File file=new File(pathname);
BufferedReader br=null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"utf-8"));
String line;
//网友推荐更加简洁的写法
while ((line = br.readLine()) != null) {
// 一次读入一行数据
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ArrayList<String> listFileName = new ArrayList<String>();
getAllFileName("/Users/zhanglipeng/a/",listFileName);
for(String name:listFileName){
if(name.contains(".txt")){
readFile(name);
}
}
}
}