草庐IT

java - java中的文件名字符集问题

当文件名带有重音符号时,尝试打开一个文件时提示找不到,因为字符集不匹配。我在linux系统上使用UTF-8(/etc/locales也设置UTF-8)。使用-Dfile.encoding=UTF-8和环境变量JBOSS_ENCODING="UTF-8"运行jboss使用JSP,我得到文件的名称:StringfileName=element.getChildText("FileName");out.println("Filetobeopened:"+filename);显示:要打开的文件:aaaaaà.txt但是,newFile(fileName)将不起作用。只是file.exists(

java - 在Java中将文件名/目录传递到命令行

我正在尝试对用户是否在命令行中输入(1)文件名或(2)目录名进行一些处理。其他任何东西都应该抛出错误。从最简单的情况开始,我这样写:importjava.io.*;importjava.util.*;publicclassRemoveDuplicates{publicstaticvoidmain(String[]args){if(args.length!=1){System.out.println("Programacceptsonecommand-lineargument.Exiting!");System.exit(1);}Filef=newFile(args[0]);if(f.i

java - 为什么 Java 会自动解码 URI 编码文件名中的 %2F?

我有一个servlet,需要写出具有用户可配置名称的文件。我正在尝试使用URI编码来正确转义特殊字符,但JRE似乎自动将编码的正斜杠%2F转换为路径分隔符。例子:Filedir=newFile("C:\DocumentsandSetting\username\temp");Stringfn="Top1/2.pdf";URIuri=newURI(dir.toURI().toASCIIString()+URLEncoder.encoder(fn,"ASCII").toString());Fileout=newFile(uri);System.out.println(dir.toURI().

java - 在java中使用星号和问号来匹配文件名

我想用java写这样的东西:publicclassMyMatcher{publicstaticbooleanisMatching(Stringfilename,Stringparam){...}}文件名将是没有目录的文件名(例如:readme.txt、shares.csv、一首好听的歌曲.mp3……)param类似于“*.mp3”,表示所有以.mp3结尾的文件等等。注意:param不是正则表达式语句,更像是在textpad或eclipse甚至dos目录上搜索文件的常用方式。有人可以建议如何做到这一点,或者是否有一些开源库可以做到这一点? 最佳答案

Java - 如何从绝对路径中获取文件名并删除其文件扩展名?

我这里有一个问题,我有一个包含值C:\Users\Ewen\AppData\Roaming\MyProgram\Test.txt的字符串,我想删除C:\Users\Ewen\AppData\Roaming\MyProgram\这样就只剩下Test了。所以问题是,我怎样才能删除字符串的任何部分。感谢您的宝贵时间!:) 最佳答案 如果你严格使用文件路径,试试这个Stringpath="C:\\Users\\Ewen\\AppData\\Roaming\\MyProgram\\Test.txt";Filef=newFile(path);S

java - OS X 中 Java 7 文件名的编码问题

我有以下代码:publicstaticvoidmain(String[]args){System.out.println(Locale.getDefault());Filef=newFile("/Users/johngoering/Documents");File[]fs=f.listFiles();for(Fileff:fs){System.out.println(ff.getName());System.out.println(ff.exists());}}在我的文档文件夹中,我有一个名为“öß.pdf”的文件。这是Java6下的输出:en_US(...)öß.pdftrue(..

java - 我如何在 java 中获取 gzip 中文件的文件名?

intBUFFER_SIZE=4096;byte[]buffer=newbyte[BUFFER_SIZE];InputStreaminput=newGZIPInputStream(newFileInputStream("a_gunzipped_file.gz"));OutputStreamoutput=newFileOutputStream("current_output_name");intn=input.read(buffer,0,BUFFER_SIZE);while(n>=0){output.write(buffer,0,n);n=input.read(buffer,0,BUFF

java - 从输入流中获取文件名 (Java)

如果我有这段代码,我如何保留原始文件的文件名或将其重新分配给新文件?:InputStreaminput=assetInfo.openStream();Filet=newFile("");OutputStreamout=newFileOutputStream(t);intread=0;byte[]bytes=newbyte[1024];while((read=input.read(bytes))!=-1){out.write(bytes,0,read);} 最佳答案 可以创建输入流以从文件或任何其他数据源读取。因此,将文件名附加到输入

java - 通过 RFC 5987 处理带空格的文件名*参数导致文件名中的 '+'

我有一些我正在处理的遗留代码(所以不,我不能只使用带有编码文件名组件的URL),允许用户从我们的网站下载文件。由于我们的文件名通常使用多种不同的语言,因此它们都存储为UTF-8。我编写了一些代码来处理RFC5987到正确文件名*参数的转换。在我有一个包含非ascii字符和空格的文件名之前,这很好用。根据RFC,空格字符不是attr_char的一部分,因此它被编码为%20。我有新版本的Chrome和Firefox,它们都在下载时转换为%20到+。我试过不对空格进行编码并将编码后的文件名放在引号中并得到相同的结果。我嗅探了来自服务器的响应,以验证servlet容器没有破坏我的header,

java - 如何将默认文件名设置为 Swing JFileChooser?

我想在此JFileChooser的文本框中将默认文件名设置为Untitled.txt。我可以设置这个吗? 最佳答案 使用以下代码:JFileChooserfileChooser=newJFileChooser();Filefile=newFile("C:/untitled.txt");fileChooser.setCurrentDirectory(file);您必须指定untitled.txt的完整路径 关于java-如何将默认文件名设置为SwingJFileChooser?,我们在St