1. java中对文件名的读取
1.读取文件名。
使用File类
File
f
=
new
File("你存放文件的地址");
String[]
filenames
=
f.list(new
FilenameFilter()
{
accept(File
dir,
String
name)
{
if(name.endwith(".txt"))
{
return
true;
}
else
{
return
false;
}
}
});//用匿名类写了一个FilenameFilter
2.处理文件名。
上面得到一个String[]
filenames
String[]
newnames
=
new
String[filenames.length()];
for(int
i
=
0;
i
<
newnames.length();
i++)
{
int
a
=
filenames[i].lastIndexOf("_")-1);
newnames[i]=filenames[i].substring(0,a);
}
3.只要不重复的。。
使用Set
Set
s
=
new
HashSet()
;
for(int
i
=
0;
i
<
newnames.length();
i++)
{
s.add(newnames[i]);
}
String[]
newnames2
=
s.toArray();
newnames2
就是需要的String[]
2. 如何用java读取zip文件名和zip内文件的文件名,在线等
下面这个DEMO支持ZIP里的*.txt,但不支持ZIP里的子目录里的*.txt
你可以陵滚自己加一个遍历去取子目录里卜汪正所需的内容即可
请用org.apache.tools.zip下的包,不要用java.util.zip下的包,因为中文支持型悔不好
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
public class TestZip {
public static void printZipTxt(String zipPath) throws IOException{
ZipFile zipFile=new ZipFile(zipPath);
for (Enumeration<? extends ZipEntry> e = zipFile.getEntries(); e.hasMoreElements();){
ZipEntry entry=e.nextElement();
System.out.println("文件名:"+entry.getName()+", 内容如下:");
if(entry.getName().toLowerCase().endsWith(".txt")){
InputStream is=null;
is= zipFile.getInputStream(entry);
byte[] b=new byte[1024];
int leng=-1;
String txtStr="";
while (( leng=is.read(b)) !=-1){
txtStr+=new String(b, 0, leng);
}
System.out.println(txtStr);
if(is!=null){
is.close();
}
}
}
}
public static void main(String[] args) {
try {
printZipTxt("c:\\test.zip");
} catch (IOException e) {
// TODO Auto-generated c
3. java代码实现从路径字符串中获取文件名称
这道题主要就是利用了String类的split()方法,进行多次调用,已经帮你实现了,代码如下:
public class Test{
public static void main(String[] args){
String str = "c:/win/good/aaa.txt;d:/win/good/bbb.txt;c:/win/cccc.txt;";
//得到路径数组
String[] fileRoot = str.split(";");
String[] fileName = null;
for(int i = 0;i < fileRoot.length;i++){
if(fileRoot[i] != null){
fileName = fileRoot[i].split("/");
//得到最终需要的文件名
System.out.println (fileName[fileName.length-1]);
}
}
}
}
4. 在java中如何从后台获取文件名
在java里面加载文件名分两种情况:
1、从数据库中获取之前存进去的文件名:用SQL语句取出所需对象即可。
2、从文件中获取文件名:可以用文件操作对象File来获取文件名:file.listFiles();能返回文件集合,然后遍历集合取出所需文件即可。
5. java读取linux下文件名乱码
Linux下读取文件名乱码可能的原因是:
1.linux系统默认编码不支持中文字符
2.文件名本身是乱码
解决方案是在读取文件名的时候,要进行显式的编码转换如下:
FileInputStreamfis=newFileInputStream("fileName");
InputStreamReaderisr=newInputStreamReader(fis,"utf-8");
6. java.io.File类中获取文件名的方法是 。
public String getName()
返回由此抽象路径名表示的文件或敏知目录的名称。该名称是路径名名称序列中的最后一个名称。如果路径名名称序列为空,则返回凳陵空字符串。
返回:
此抽象路径名表枣拿戚示的文件或目录的名称;如果路径名的名称序列为空,则返回空字符串
7. java怎么获取一个目录下的所有文件名
获取一个目录下的所有文件和目录方法:
importjava.io.File;
publicclassFileTest{
publicstaticvoidmain(String[]args){
/**
*将目标目录封装成File对象。
*/
Filedir=newFile("/Users/zym/Desktop/Mac应用程序");
/**
*获取目录下的所有文件和文件夹
*/
String[]names=dir.list();
for(Stringname:names){
System.out.println(name);
}
}
}
通过文件过滤器获取某个目录下的文件,例如所有的 .txt、.doc文件。
过滤器:
importjava.io.File;
importjava.io.FilenameFilter;
{
@Override
publicbooleanaccept(Filedir,Stringname){
returnname.endsWith(".doc");
}
}
获取某个目录下的按照过滤器规则的所有文件:
importjava.io.File;
publicclassFileTest{
publicstaticvoidmain(String[]args){
/**
*将目标目录封装成File对象。
*/
Filedir=newFile("/Users/zym/Desktop/Mac应用程序");
/**
*通过过滤器获取目录下的所有的.doc文件
*/
String[]names=dir.list(newFilterByDoc());
for(Stringname:names){
System.out.println(name);
}
}
}
希望能对您有所帮助!
8. java里如何遍历一个文件夹获取该文件夹里的所有文件名
一个文件里不但有文件还有文件夹所以代码如下
先定义一个方法然后在main方法里调用
public void getFileName(File f){
if(f.isFile()){
System.out.println(f.getName());
}else{
List<File> l=f.listFile();
for(File file:l){
file.getFileName();
}
}
}
9. 如何通过java,不进行解压zip/rar文件操作,就把压缩文件中的文件名给读取出来求可行的思路!谢谢!
public List<String> getZipFileNames(String path) throws Exception{
List<String> fileNames=new ArrayList<String>();
File file=new File(path);//path是压缩文件路径
ZipFile zipFile=new ZipFile(file);
for (Enumeration zipEntries = zipFile.getEntries(); zipEntries
.hasMoreElements();) {//遍历压历桥漏消轮缩文件中所有的子文件
String zipEntryName = ((ZipEntry) zipEntries.nextElement())
.getName();//获取子文件的名肢烂字
fileNames.add(zipEntryName);
}
retrun fileNames;
}
10. java 怎么获取一个文件的文件名
如果想要获得当前文件中的文件名只需要String [] fileName = file.list();就可以了。如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。
其中public static String [] getFileName(String path)是只得到当前文件中的文件名。public static void getAllFileName(String path,ArrayList<String> fileName)是包括当前文件及其子文件的文件名。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class GetFileName
{
public static String [] getFileName(String path)
{
File file = new File(path);
String [] fileName = file.list();
return fileName;
}
public static void getAllFileName(String path,ArrayList<String> fileName)
{
File file = new File(path);
File [] files = file.listFiles();
String [] names = file.list();
if(names != null)
fileName.addAll(Arrays.asList(names));
for(File a:files)
{
if(a.isDirectory())
{
getAllFileName(a.getAbsolutePath(),fileName);
}
}
}
public static void main(String[] args)
{
String [] fileName = getFileName("F:\\xiaoshuo");
for(String name:fileName)
{
System.out.println(name);
}
System.out.println("--------------------------------");
ArrayList<String> listFileName = new ArrayList<String>();
getAllFileName("F:\\xiaoshuo",listFileName);
for(String name:listFileName)
{
System.out.println(name);
}
}
}
运行时需要更改一下具体的文件夹。