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);
}
}
}
運行時需要更改一下具體的文件夾。