
正文
java输出中文代码 java输出中文命令行出现乱码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
请问,java中,将下面的英文名字变为中文 该怎样输出?
直接给你贴代码
package test;
import java.io.*;
public class RandomFileDemo {
public static void main(String[] args) throws Exception {
Employee e1=new Employee("张三",23);
Employee e2=new Employee("李四",24);
Employee e3=new Employee("王五",25);
RandomAccessFile ra=new RandomAccessFile("d:\\employee.txt","rw");
ra.writeChars(e1.name);
ra.writeInt(e1.age);
ra.writeChars(e2.name);
ra.writeInt(e2.age);
ra.writeChars(e3.name);
ra.writeInt(e3.age);
ra.close();
RandomAccessFile raf=new RandomAccessFile("d:\\employee.txt","r");
raf.skipBytes(Employee.LEN*2+4);
String str="";
int len=Employee.LEN;
for(int i=0;ilen;i++)
str=str+raf.readChar();
System.out.println("第二位员工信息");
System.out.println("name="+str.trim()+",age="+raf.readInt());
raf.seek(0);
str="";
for(int i=0;ilen;i++)
str=str+raf.readChar();
System.out.println("第一位员工信息");
System.out.println("name="+str.trim()+",age="+raf.readInt());
str="";
raf.skipBytes(Employee.LEN*2+4);
for(int i=0;ilen;i++)
str=str+raf.readChar();
System.out.println("第三位员工信息");
System.out.println("name="+str.trim()+",age="+raf.readInt());
raf.close();
}
}
class Employee {
String name;
int age;
final static int LEN=8;
public Employee(String name,int age) {
if(name.length()LEN)
name=name.substring(0,8);
else {
while(name.length()LEN)
name=name+"\u0000";
}
this.name=name;
this.age=age;
}
}
你上面的用getBytes写入的话,是读不出中文的,因为在java 中不管是中文字符还是英文字符 它们都是一个字符 都占用两个字节 在本地的计算机编码系统中英文字符占用一个字节 而中文字符占用两个字节.
想输出出中文的话,就可以存储的时候用writeChars,读出的时候用readChar,
注意在TXT中,这样存是看不到任何数据的,只是一些乱码。读出的时候才能看到正确数据
相关问答
Q1: java中输入输出中文乱码,怎么办?
解决办法:
1.在代码区域右键 - run as - run configurations - common(右侧) - console encoding
如果出现此错误,此时的编码格式应该是UTF-8,选择Other,这时可能没有GBK选项,如果没有,则执行之后操作。
2.更改该项目的文本文件编码,项目右键 - properties - resource - 先将 text file encoding调整回GBK,然后再回去重新设置console encoding编码为GBK。
Q2: java怎么 输入输出中文
看来是个Java初学者,估计java输出中文代码你对Javajava输出中文代码的流概念不是很清楚啊,Javajava输出中文代码的输入输出都是通过数据流来完成java输出中文代码的,看看下面的代码吧。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] chars = new char[2];
try {
br.read(chars);
System.out.println(chars);
}
catch(IOException ioe) {
ioe.printStackTrace();
}
}
}
Q3: Java中我输入指定的中文词语输出我已设定好的词语出来的代码。跪求
public static void main(String[] args) {
System.out.println("请输入java输出中文代码:");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(str);
}
输出java输出中文代码:
Q4: Java IO 控制台,利用字节流输出中文 内容(本是同根生,相煎何太急。)代码如下
用BufferedReader就可以java输出中文代码了
public class Test8
{
public static void main(String[] args) throws Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(new File(
"C:/Users/Lenovo/Desktop/新建文本文档.txt"))));
String line = br.readLine();
while (null != line)
{
System.out.print(line);
line = br.readLine();
}
br.close();
}
}
关于java输出中文代码和java输出中文命令行出现乱码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







