如何遍历目录以读取* .csv文件并使用Java在我的系统中上传?
忽略帖子的上传部分。
答案 0 :(得分:2)
您可以执行以下操作,找到目录中扩展名为.csv
的所有文件。
File[] files = new File(DIR_LOCATION).listFiles(new FileFilter() {
public boolean accept(File file) {
return file.getName().endsWith(".csv");
}
});
看一下java教程的File I/O部分
答案 1 :(得分:1)
提供更多细节。您是在谈论Web应用程序还是独立应用程序。简单的答案是,如果它是一个Web应用程序,您不能这样做,因为您只能使用文件控件上传文件。如果它是一个独立的应用程序,您可以使用list
文件方法读取目录,并检查扩展名是否为csv并读取它。
答案 2 :(得分:1)
您可以将File#listFiles()
与FilenameFilter
结合使用,以获取给定目录的CSV文件。
File directory = new File("/path/to/your/dir");
File[] csvFiles = directory.listFiles(new FilenameFilter() {
@Override public boolean accept(File dir, String name) {
return name.endsWith(".csv");
}
});
答案的残余取决于您要将其上传到的方式和位置。如果是FTP服务,那么您希望使用Apache Commons Net FTPClient。如果是HTTP服务,那么您希望使用Apache HttpComponents Client HttpClient。如果您编辑问题以阐明功能要求,那么我可以更新此答案以包含更多详细信息。但是,您应该知道另一侧需要某种服务器才能连接并发送/上传文件。例如。一个FTP或HTTP(网络)服务器。
答案 3 :(得分:0)
答案 4 :(得分:0)
File.list()将获取给定目录中的所有文件。 File.list()将其作为字符串数组返回; File.listFiles()将其作为File对象的数组返回。
然后,您可以遍历数组并选出以“.csv”结尾的所有数据。
如果您想要更复杂一点,请创建一个只传递csv文件的FilenameFilter。
答案 5 :(得分:0)
检查File API。具体来说,File.list *方法;那些将列出目录中的文件。