"file.getOriginalFilename()"在java中是得到文件的完整名字吗

"file.getOriginalFilename()"在java中是得到文件的完整名字吗,第1张

filegetOriginalFilename()是得到上传时的文件名。

1、java io包中File类中并没有getFileName()方法,这里应该是指getName()方法,此方法仅返回文件名,并不会包含路径。如果需要完整路径+文件名,应该使用getPath()取得路径后再组合使用getName(),拼出一个完整路径+文件名的字符串。

2、==File类中常用方法如下,下文中file是File类的一个实例==取得文件名称的方法: filegetName()取得文件路径的方法:filegetPath()。

3、判断文件是否绝对路径: fileisAbsolute(),取得文件的根目录: filegetParent(),判断文件是否存在: fileexists(),判断是否是目录: fileisDirectory(),判断是否是文件:  fileisFile(),判断是否是隐藏文件: fileisHidden(),判断是否可读:filecanRead(),判断是否可写:  filecanWrite()。

package comtexst;

import javaioFile;

import javaioFileInputStream;

import javaioFileNotFoundException;

import javaioIOException;

public class GetFileMessageOfDisk {

/

@param args

/

public static void main(String[] args) {

File file = new File("D:/");

getMessage(file);

}

private static void getMessage(File file){

File[] files = filelistFiles();

if(files==null){

files = new File[0];

}

for(int i=0;i<fileslength;i++){

if(files[i]isDirectory()){

Systemoutprintln(files[i]getPath());

getMessage(files[i]);

}else{

try {

int length = new FileInputStream(files[i])available();

Systemoutprintln(files[i]getName()+" 长度:"+length+" 大小:"+length/1024+"KB");

} catch (FileNotFoundException e) {

eprintStackTrace();

} catch (IOException e) {

eprintStackTrace();

}

}

}

}

}

这道题主要就是利用了String类的split()方法,进行多次调用,已经帮你实现了,代码如下:

public

class

Test{

public

static

void

main(String[]

args){

String

str

=

"c:/win/good/aaatxt;d:/win/good/bbbtxt;c:/win/cccctxt;";

//得到路径数组

String[]

fileRoot

=

strsplit(";");

String[]

fileName

=

null;

for(int

i

=

0;i

<

fileRootlength;i++){

if(fileRoot[i]

!=

null){

fileName

=

fileRoot[i]split("/");

//得到最终需要的文件名

Systemoutprintln

(fileName[fileNamelength-1]);

}

}

}

}

同意楼上的分析,另外我想提个建议,代码为了便于阅读可以试着分步骤写。

就先定义filename和filepath,然后你在后续的 *** 作中想要出现在设定的某一区域中

就可以直接使用filename,将要上传的文件名是 itsgetIPTimeStampRand()+""+itemgetName()split("\\")[1]

给你个示例,应该看得懂吧

File f =new File("Testtxt");

String fileName=fgetName();

String prefix=fileNamesubstring(fileNamelastIndexOf("")+1);

Systemoutprintln(prefix);

}

如果知道该文件的路径filePath

可以用 String parentFilePath = filePathsubString(0,filePathlastIndexOf("\\")) 获取当前文件夹所在的路径

然后 fileFolderName = parentFilePathsubString(parentFilePathlastIndexOf("\\"),parentFilePathlength()); 获取文件夹的名称。

这个你可以这样实现,你在页面写一个<input type="hidden" name="files" id="files">,然后在你选择文件的时候,每选择一个,就把这个文件的名字加到这个files中,用,号隔开,这样就会有一个files=filename1,filenam2,filename3,filename4 这样你在后台获取files,然后用,号分割,就可以获取每个附件了

多个附件上传就是这样做的

找JAVA *** 作IO的章节,其实是流(字符与字节)的实现上,发个参考给你

public static String getFileText(String path,String filename,FileEnum enums) throws IOException {

FileInputStream inputstream = null;

try{

inputstream = new FileInputStream(path+ Fileseparator + filename);

switch(enums){

case jpg:

return encodeImgageToBase64(inputstream,FileEnumgetFileTypeEnum(FileEnumjpg)toString());

case doc:

return readWordFileToStr(inputstream);

case text:

returnreadTextFileToStr(inputstream);

default :

return "";

}

}catch(IOException e){

throw e;

}finally{

closeStream(inputstream);

}

}

private static String readTextFileToStr(FileInputStream inputstream) throws IOException {

String result = "";

InputStreamReader read = new InputStreamReader(inputstream);

BufferedReader bufferedReader = new BufferedReader(read);

String lineTxt = null;

while((lineTxt = bufferedReaderreadLine()) != null){

result = result + "\n" +lineTxt;

}

return result;

}

以上就是关于"file.getOriginalFilename()"在java中是得到文件的完整名字吗全部的内容,包括:"file.getOriginalFilename()"在java中是得到文件的完整名字吗、利用Java文件类File的方法,获取磁盘文件的文件名、长度、大小等特性。、java代码实现从路径字符串中获取文件名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10128791.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存