在Java中将字符串转换为文件

27

我有一段代码要求用户输入日志文件名,以便知道需要解析和排序的文件。

为了能够正确解析,FileSource.parseXML 读取一个变量类型为 File。因此,需要将输入的 String 转换为 File。如何完成这个转换呢?

import java.io.*;
import java.util.*;

public class Main
{
    public static void main( String[] args )
    {
        FileSource src;
        File fd=null;
        int rc = 0;
        int count = 0;
        Record rec;

      //ask user what file to parse
      Scanner input = new Scanner(System.in);
      System.out.println("Enter file name:");
      String filename = input.nextLine();

      //TODO turn filename into fd


        //parse the records
        src = FileSource.parseXML( fd );


        //print out the number of records parsed
        rc = src.getRecordCount();
        System.out.println(rc);


        //print out all records. 
        for( int i = 0; i < rc; i++)
        {
            rec = src.getRecord( i );
            System.out.println( rec.toString());
        } //end for loop

        return;
    }//end main method  

}

3
你的意思是类似于 File fd = new File(filename) 这样的东西吗? - Denys Séguret
1
这是作业吗?因为你已经找到了所有其他部分,但是找不到File的构造函数有点奇怪。 - John Gardner
已经发布的答案解决了问题的简单解释。但是您是否在询问某些复杂性?您是否正在处理当前目录问题或类似问题?在所有情况下,java.io.File Javadoc提供了丰富的信息。 - Dilum Ranatunga
1
我是Java的新手。我已经阅读了很多,但在看到与我正在工作的项目相关的示例之前,这些都无法让我理解。这些帖子和反馈对我非常有帮助。 - tzg
@user1541269,请停止试图在其他用户的帖子上进行无意义的编辑。你已经试过几次添加自己的代码,最可笑的是,试图更改C# XNA Draggable UI被接受答案中的变量名称。这是不恰当的,并且已经被多个站点管理员拒绝了每一次。 - Sheridan
3个回答

49

File file = new File(userInput);


4
很遗憾,这个问题的答案可能只需要一个不足以作为有效答案的短语来回答。fd = new File(fileName); - John Gardner

5

看到您有文件名,您应该只需创建一个File对象:

File file = new File(filename);

有关文件的更多信息,请参见此Javadoc


String str = Base64.encodeToString(byteArray, Base64.NO_WRAP); File file = new File(str); 如何将我的Base64编码字符串str添加到这个文件格式中? - Ankit Gupta

4

1
即使是发布文档链接,您也应该使用Java 6或更高版本。 - Luiggi Mendoza
你说得对,我没有注意到 :) 它仍然可以工作,但我将来一定会更加小心(并更新这个答案) - Austin Johnson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接