java 将字符串传递给文件编写器会使创建的文件变得混乱

java passing string to file writer makes jumble in file created

应该不难吧!

我有一个 jfilechooser 并将选定的文件路径存储为字符串

String filepath; 
filepath= openFile.getSelectedFile().getPath();

我可以在 gui 上将其显示为标签,并且工作正常:

 filepathlabel.setText(""+filepath.toString());

然后将文件路径标签添加到内容窗格。

我的问题 我有一个文件编写器 我可以写入文件,比如我喜欢... 但是当我将文件路径传递给文件编写器时 在文件编写器创建的文本文件中,它在里面显示如下:

javax.swing.JLabel[,213,288,439x16,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@58ae42b4,flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,horizontalAlignment=LEADING,horizontalTextPosition=TRAILING,iconTextGap=4,labelFor=,text=C:\Users\shane\Documents\TWITCH\kim.gif,verticalAlignment=CENTER,verticalTextPosition=CENTER]

现在混合在一起,它确实显示了文件路径,但是我怎样才能把所有这些周围的东西都整理出来?

我正在传递这样的字符串:

 printwriter.println(filepath);

谢谢

欢迎@Shane。

写入文件的是 javax.swing.JLabel 对象的 toString() 值,而不是 JLabel 对象的值。而是调用 JLabel 对象的 getText() 并将该字符串值写入文件。

作为旁注:

filepathlabel.setText(""+filepath.toString()); 不是执行此操作的正确方法。请将其更改为 filepathlabel.setText(filepath); 因为 filepath 已经是一个 String