如何使用FileRead读取文本?

时间:2014-10-23 14:43:41

标签: java netbeans

我正在从两台计算机上完成一个项目,第一台在工作,第二台在家。当我使用FileRead时,我需要更改FileRead需要阅读的位置。 比如在家里就像这样:

ReadFile rf = new ReadFile("C:\\Users\\Home\\Desktop\\Project\\src\\triangle3d\\TheText.ase");

当我给自己发电子邮件并在我的工作场所打开它时,我需要每次都改变它:

ReadFile rf = new ReadFile("C:\\Users\\Work\\Desktop\\Project\\src\\triangle3d\\TheText.ase");

现在有一种方法可以找到 TheText.ase 而不说明它的位置吗? 这会有用吗? :

ReadFile rf = new ReadFile("TheText.ase");

4 个答案:

答案 0 :(得分:1)

public class LocationFileManager
{

   public LocationFileManager(String s)
   {

      ReadFile rf=new ReadFile("C:\Users\\" + s + "\Desktop\Project\src\triangle3d\TheText.ase");

   }

   public static void main(String[] args)
   {

      String s = ""; //<--------- enter here either Home or Work

      LocationFileManager lfm = new LocationFileManager(s);

   }

}

这可以通过简单地选择主方法中的s值来选择是回家还是工作

编辑---天啊,如果还有太多工作,那就试试吧......

import javax.swing.JOptionPane;

public class LocationFileManager
{

   public LocationFileManager(String s)
   {

      ReadFile rf=new ReadFile("C:\Users\\" + s + "\Desktop\Project\src\triangle3d\TheText.ase");

   }

   public static void main(String[] args)
   {



      Object[] possibleValues = { "Home", "Work"};
      String s = JOptionPane.showInputDialog(null,
         "Choose one", "Input",
         JOptionPane.INFORMATION_MESSAGE, null,
         possibleValues, possibleValues[0]);




      LocationFileManager lfm = new LocationFileManager(s);

   }

}

答案 1 :(得分:1)

可能会找到您的桌面文件夹,然后从那里转到该文件,因为两台机器上都是相同的。

ReadFile rf=new ReadFile(System.getProperty("user.home") + File.separator + "Desktop" + "\Project\src\triangle3d\TheText.ase");

这可能比我的其他答案更好,因为它不依赖于DNS,因此不需要互联网访问。

希望这会有所帮助:)

答案 2 :(得分:0)

你可以创建一个看起来像你的计算机的方法然后加载文件: 您唯一需要做的就是在下面的is语句中输入您的工作计算机的名称和家用计算机的名称。名称是您的网络名称或首次启动时为计算机指定的名称。

    String name = InetAddress.getLocalHost().getHostName();
    if(name.equals("computerNameHome")){//home computer name
        ReadFile rf=new ReadFile("C:\Users\Home\Desktop\Project\src\triangle3d\TheText.ase");   
    }else if(name.equals("computerNameWork")){//work computer name
        ReadFile rf=new ReadFile("C:\Users\Work\Desktop\Project\src\triangle3d\TheText.ase");   
    }

希望这会有所帮助:)

编辑:这取决于DNS,因此您需要访问互联网才能执行此操作。

答案 3 :(得分:0)

您可以通过项目树中的相对路径名访问该文件。

private static void answer() {
    final String relativePath = "src/triangle3d/TheText.ase";
    File ase = new File(relativePath);
    System.out.printf("absolute path: '%s'%n", ase.getAbsolutePath());
    System.out.printf("is '%s' a file: %s%n", relativePath, ase.isFile());
}