请教JAVA转义字符
importjava.util.*;importjava.io.*;importjava.awt.*;importjavax.swing.*;importjava.awt...
import java.util.*;
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class MyWindow extends JFrame implements ActionListener{
JTextArea text;
JButton button;
FileWriter writefile;
BufferedWriter out;
MyWindow(){
super("缓冲式样流的输出");
Container con=this.getContentPane();
text=new JTextArea(20,30);
text.setBackground(Color.cyan);
button=new JButton("写文件");
button.addActionListener(this);
con.setLayout(new BorderLayout());
con.setSize(40,40);
con.setVisible(true);
this.pack();
con.add(text,"Center");
con.add(button,"South");
try{
writefile=new FileWriter("C:\\Users\\Administrator\\Desktop\\new\\file2.txt"); //问题所在行
out=new BufferedWriter(writefile);
}catch (IOException e){}
}
public void actionPerformed(ActionEvent e){
String s;
if(e.getSource()==button){
try{
out.write(text.getText(),0,(text.getText()).length());
out.flush();
text.setText(null);
System.exit(0);
} catch(IOException exp){
text.setText("文件写出错!\n");
System.exit(-1);
}
}
}
}
public class example9_3 {
public static void main(String[] args) {
MyWindow myWin=new MyWindow();
myWin.pack();
}
}
请教:
1。为什么我调试的时候没有小窗口出来呢?什么也看不到!
2。C++里面,双引号”“里面的内容不管是什么,都被认为是一串字符,用COUT可以原样打印 出来,但JAVA里面为什么双引号里的 \ 字符为什么非要再加一个 \ 变成转义字符才能找得文件呢?否则编译时报错找不到文件。 展开
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class MyWindow extends JFrame implements ActionListener{
JTextArea text;
JButton button;
FileWriter writefile;
BufferedWriter out;
MyWindow(){
super("缓冲式样流的输出");
Container con=this.getContentPane();
text=new JTextArea(20,30);
text.setBackground(Color.cyan);
button=new JButton("写文件");
button.addActionListener(this);
con.setLayout(new BorderLayout());
con.setSize(40,40);
con.setVisible(true);
this.pack();
con.add(text,"Center");
con.add(button,"South");
try{
writefile=new FileWriter("C:\\Users\\Administrator\\Desktop\\new\\file2.txt"); //问题所在行
out=new BufferedWriter(writefile);
}catch (IOException e){}
}
public void actionPerformed(ActionEvent e){
String s;
if(e.getSource()==button){
try{
out.write(text.getText(),0,(text.getText()).length());
out.flush();
text.setText(null);
System.exit(0);
} catch(IOException exp){
text.setText("文件写出错!\n");
System.exit(-1);
}
}
}
}
public class example9_3 {
public static void main(String[] args) {
MyWindow myWin=new MyWindow();
myWin.pack();
}
}
请教:
1。为什么我调试的时候没有小窗口出来呢?什么也看不到!
2。C++里面,双引号”“里面的内容不管是什么,都被认为是一串字符,用COUT可以原样打印 出来,但JAVA里面为什么双引号里的 \ 字符为什么非要再加一个 \ 变成转义字符才能找得文件呢?否则编译时报错找不到文件。 展开
2个回答
推荐于2016-08-05
展开全部
请在构造函数myWindow()中加入
this.setSize(40, 40);//
this.setVisible(true);// JFrame的这两个函数必须设置,而你设置的是JFrame上的面板,所以不能出现
java使用字符'\'来作为转义字符使用,表示那些控制功能的字符,因为这些字符没有对应的表示单个字符表示形式,需用'\'才能表示清楚,比如'\n'(换行), 'r'(回车), '\t'(制表符),那这里就存在一个问题如果你想表示字符串"\"+"t"这两个字符组成的字符串时,该怎么办,编译器该怎么解释'\'的含义呢。那,这里可以用"\\t",来表示。规则是编译器从左到右读取字符,碰到第一个'\'当做转义字符,那下一个'\',作用就和'\t'中的t一个道理。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询