关于放置txt文件以便java立即读取

关于放置txt文件以便java立即读取,java,Java,我想读取文本并将其存储在字符串变量中。。。 这段代码工作正常,但我想知道txt文件应该放在哪里,以便我不指定确切的路径。因为我将在各种机器上尝试此代码。所以我希望你明白我想要什么 import java.io.File; import java.io.FileNotFoundException; import java.util.*; public class Compress { public static void main(String[]

我想读取文本并将其存储在字符串变量中。。。 这段代码工作正常,但我想知道txt文件应该放在哪里,以便我不指定确切的路径。因为我将在各种机器上尝试此代码。所以我希望你明白我想要什么

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.util.*;
    public class Compress {
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            String text="";
            try {
                text = new Scanner( new File("C:\\Users\\sandhya\\workspace\\PrefixFreeCodeChecker\\src\\poem.txt"), "UTF-8" ).useDelimiter("\\A").next();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            System.out.println(text+"");
        }

    }

将poem.txt文件放在java项目文件夹中,并将路径更改为:

text = new Scanner( new File("poem.txt").....

将文件放在运行java应用程序的目录中,并使用相对路径作为文件名,如new Filepoem.txt。当然,相对路径是最好的选择。避免任何微软硬盘删除器语法的暗示,因为这在其他平台上不起作用。谢谢!它起作用了。。。顺便说一句,我的输出是给我一个?字符位于输出字符串的第一个位置可能是文本文件有问题。它有一个新的名字吗?之前?谢谢用户3286112!看起来像那个角色?以UTF-8编码保存txt文件时出现。但当我将编码类型更改为ANSI时,一切正常: