精华内容
下载资源
问答
  • 将这两个属性转变为字符串的方法是toStr()。 //编写程序,使用MyProgram类, //实现数据的访问和修改,并调用toStr()方法显示该类的属性。 class MyProgramOne { private String[] str; private int data; ...

    //定义一个类MyProgram,包含两个属性:一个是private的整型属性data、//一个是private的String类型的属性str,//封装这两个属性的四个方法setData()和getData()、setStr()和//ge...

    //定义一个类MyProgram,包含两个属性:一个是private的整型属性data、

    //一个是private的String类型的属性str,

    //封装这两个属性的四个方法setData()和getData()、setStr( )和

    //getStr();将这两个属性转变为字符串的方法是toStr()。

    //编写程序,使用MyProgram类,

    //实现数据的访问和修改,并调用toStr()方法显示该类的属性。

    class MyProgramOne {

    private String[] str;

    private int data;

    MyProgramOne()

    {

    str=new String[]{"你好!"};

    data=10;

    }

    public void setData(int myData)

    {

    data=myData;

    }

    public void setStr(String[] myStr)

    {

    str=myStr;

    }

    public String[] getStr()

    {

    return str;

    }

    public int getData()

    {

    return data;

    }

    public void toStr()

    {

    System.out.println(this.getStr());

    System.out.println(this.getData());

    }

    }

    public class MyProgram

    {

    public static void main(String[] args)

    {

    MyProgramOne myProgram=new MyProgramOne();

    System.out.println("以下是字符串的访问:");

    System.out.println(myProgram.getStr());

    System.out.println("以下是整数的访问:");

    System.out.println(myProgram.getData());

    System.out.println("以下是数据的修改:");

    System.out.println("将字符串改为你们好");

    String [] yourStr=new String[]{"你们好"};

    System.out.println("将整型数据改为20");

    myProgram.setData(20);

    myProgram.setStr(yourStr);

    myProgram.toStr();

    }

    }

    展开

    展开全文
  • java字符乱码

    2021-03-01 06:37:35
    java中处理字符时,经常会发生乱码,而主要出现的地方在读取文本文件时发生,或者是写入到文件中,在其他地方打开乱码。如下例子:1 BufferedReader br = null;2 try{3 br = new BufferedReader(new ...

    在java中处理字符时,经常会发生乱码,而主要出现的地方在读取文本文件时发生,或者是写入到文件中,在其他地方打开乱码。

    如下例子:

    1 BufferedReader br = null;2 try{3 br = new BufferedReader(new InputStreamReader(newFileInputStream(4 "file.txt")));5 String line =br.readLine();6 System.out.println(line);7 } catch(FileNotFoundException e) {8 //Auto-generated catch block

    9 e.printStackTrace();10 } catch(IOException e) {11 //Auto-generated catch block

    12 e.printStackTrace();13 } finally{14 try{15 if (br != null) {16 br.close();17 }18 } catch(IOException e) {19 //Auto-generated catch block

    20 e.printStackTrace();21 }22 }

    上述代码则是读取一个文本文件,此方式读取文本文件可能会发生乱码问题。

    当文本文件的编码与当前JVM的编码一致时,就会发生乱码。

    查看JVM的编码信息,使用工具查看jvisualvm(C:\Program Files\Java\jdk1.7.0_72\bin\jvisualvm.exe)

    446ab9d1a77e6ae5e1c1646ba6af64ea.png

    file.encoding=UTF-8

    这个就是当前JVM的字符集

    所以,我们可以通过制定JVM的file.encoding=UTF-8来指定JVM的字符集,修改tomcat的启动脚本catalina.bat(.sh),添加:

    JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"

    或是在修改tomcat内存大小的地方后面继续追加-Dfile.encoding=UTF-8 配置即可。

    但是,我们继续往下看,查看InputStreamReader的构造函数可以发现:

    e07a15ce1e9fbe19af82318578b411b7.png

    其实在读取文件时,是可以指定字符集的,如UTF-8,查看默认构造函数:

    1 publicInputStreamReader(InputStream in) {2 super(in);3 try{4 sd = StreamDecoder.forInputStreamReader(in, this, (String)null);5 } catch(UnsupportedEncodingException e) {6 //The default encoding should always be available

    7 throw newError(e);8 }9 }

    可以看出指定的字符编码时传入为空,继续看StreamDecoder的代码:

    1 public staticStreamDecoder forInputStreamReader(InputStream in,2 Object lock,3 String charsetName)4 throwsUnsupportedEncodingException5 {6 String csn =charsetName;7 if (csn == null)8 csn =Charset.defaultCharset().name();9 try{10 if(Charset.isSupported(csn))11 return newStreamDecoder(in, lock, Charset.forName(csn));12 } catch(IllegalCharsetNameException x) { }13 throw newUnsupportedEncodingException (csn);14 }

    当传入的编码为空时,则获取默认编码:

    Open Declaration Charset java.nio.charset.Charset.defaultCharset()

    Returns the default charset of this Java virtual machine.

    The default charset is determined during virtual-machine startup and typically depends upon the locale and charset of the underlying operating system.

    Returns:

    A charset object for the default charset

    Since:

    1.5

    这段为 Charset.defaultCharset() 的文档说明,他会从JVM中获取编码(Returns the default charset of this Java virtual machine)。

    所以,在之前设置file.encoding就是在这使用的。

    总结:

    1.设置JVM的file.encoding;

    2.在读取文件时指定编码;

    展开全文
  • Java打印字符串出现乱码问题

    千次阅读 2020-10-16 22:24:24
    我在idea运行我以前写的代码时发现在utf-8编码下运行打印出了乱码,如图: 这是代码位置: 错误原因 是由项目编码和全局编码格式不匹配导致 解决方案 左上角点击File->Editor->File Encodings 把Global ...

    问题描述
    我在idea运行我以前写的代码时发现在utf-8编码下运行打印出了乱码,如图:

    在这里插入图片描述
    这是代码位置:

    在这里插入图片描述
    错误原因
    是由项目编码和全局编码格式不匹配导致

    解决方案
    左上角点击File->Editor->File Encodings
    把Global Encoding和Project Encoding都改为UTF-8格式
    在这里插入图片描述
    在这里插入图片描述
    修改后运行结果:

    在这里插入图片描述

    展开全文
  • java控制台输出中文字符串乱码问题

    千次阅读 2021-01-14 12:21:36
    前言:我们在初学Java的时候,做一些测试验证自己的逻辑的时候,会经常用到System.out.println()往控制台打印参数,但是有的时候,会发现打印出来的中文字符串出现乱码。这篇文章讲解下,如何解决这个乱码的问题!...

    前言:

    我们在初学Java的时候,做一些测试验证自己的逻辑的时候,会经常用到System.out.println()往控制台打印参数,但是有的时候,会发现打印出来的中文字符串出现乱码。这篇文章讲解下,如何解决这个乱码的问题!

    正文:

    一、复现问题

    public static void main(String[] args) {

    User user = new User();

    user.setNameda(阿达);

    user.setSex(男);

    System.out.println(user.toString());

    }

    二、控制台输出结果

    User(nameda=闃胯揪, sex=鐢�, age=null, phone=null, email=null)

    三、分析问题,基本出现乱码的问题都是编码格式设置造成的,所以我们去idea的编码设置里看看是否是编码格式设置有问题。进入到File-Settings-Editor-File Encodings看下编码格式(idea版本2017.3.4)。

    我们发现这个java文件编码格式的确不是UTF-8,而是GBK,所以输出到控制台导致有乱码的问题。

    四、解决问题,那么把文件的编码格式设置成UTF-8,再重新启动idea,皆可以啦!(这里修改编码后,一定要重启idea)。

    重启后控制台输出结果:

    User(nameda=阿达, sex=男, age=null, phone=null, email=null)

    总结:

    遇到问题,不能着急,要冷静分析,要是今天实在解决不了,放一放,也许明天就来解决问题的灵感了!

    展开全文
  • 在学习“java基本数据类型”相关知识点过程中,使用不同文本编辑器编写java源代码文件在cmd控制台中编译和运行过程中多次出现乱码情况。  电脑操作系统:win10 企业版 文本编辑器:Notepad(Windows自带记事本)...
  • Tip1:Java读取数据流的时候,一定要指定数据流的编码方式,否则将使用本地环境中的默认字符集(GBK)。 Tip2:当使用下面做编码转换时 BufferedReader br = new BufferedReader(new ...
  • 常见的编码也就ISO8859-1,GBK,GB2312,UTF-8java里有String这个类存储并处理字符串,同样String里有个方法叫getBytes(),这个方法起着编码转换的作用。API里这样解释这个方法:Encodes this String into a sequence ...
  • 今天在使用Notepad++学习Java时出现了乱码的情况 情形是这样的,我在使用 System.out.println(“最后结果为:”+ sum) 这段代码时。最后在cmd命令行输出的结果,汉字部分竟然为乱码,然后我修改了notepad++上的...
  • 代码: while(true) System.out.println("你好,中国。"); 控制台中截取一段结果如下: 你好,中国。 你好,中国。 你好,中国。 你好,���国。 你好,中国。 你好,中国。...
  • package字符编码输出;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io....
  • 以前的时候发现直接java读取一个excel文件输出里面的字符串乱码,中文字符不会乱码,但是遇到英文的时候输出乱码。这个问题太奇怪了。我的表格名字为Shirley.xls。我曾经直接读取excel表格中那个有英文字符串的...
  • 引言无论学习什么程序语言,字符串这种数据类型总是着有非常重要。然而最近在学习python这门语言,想要显示中文,总是出现各种乱码。于是在网上查了很多资料,各说纷纭,我也尝试了许多的方法,有时候可以正常显示,...
  • java命令行输出中文乱码问题

    千次阅读 2020-08-01 10:27:41
    在使用命令行输出中文字符串的过程中,在命令中输出乱码。 原因: 在对源文件进行编译的时候没有指定合适的编码格式导致输出乱码。 解决方法: javac -encoding utf-8 .\Work.java 在encoding之后追加一个能够支持...
  • 服务端:@RequestMapping(value="/detail/... 回掉函数里的data即为服务端返回的中文字符串,用alert在页面输出后显示为????! 返回英文则是正常的。 求高手帮忙解答,如何让它显示正常的中文,感激不尽!
  • 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题。Spring版本:3.2.2....使用 Jackson 的 ObjectMapper 将Java对象转换为String类型的JSON数据。为了避免中文乱码,...
  • JAVA调用接口字符偶尔乱码

    千次阅读 2018-07-06 00:39:48
    做项目时与第三方系统做对接,拿到的数据转Json偶尔会出错,字符串又非常长,肉眼很难看出是什么问题,非常头疼。经过多次排查,终于锁定是偶尔中文乱码,这时候更头疼了,偶尔出错是什么鬼。然后分析拿到的包含乱码...
  • Java 使用jna调用so返回字符串乱码

    千次阅读 2018-08-07 23:08:15
     在使用java的jna工具包调用封装好的so的时候,想在so的方法上正常返回一个strcat拼接的字符串,结果出现了乱码,没有中文,纯英文字符。发生乱码!但是如果直接返回一个未经函数处理的char*字符串时,却是正常的!...
  • 两个字符串连接输出乱码问题解决

    千次阅读 2017-12-26 23:11:42
    在perl语言中,perl字符串格式包含两部分内容,一个是数据区,一个是utf8 flag...当两个字符串相连接时,需要保证两个字符串都具有相同的格式,否则可以到处最终输出乱码,举例如下:slide1.xml文件内容:<?xml version
  •  ---- 乱码问题   ---- 通过一个事例进行分析 一、需求:   二、过程分析:   第一步:java文件编码格式  文件格式非固定: 第二步:java文件编写保存 第三步:编译成Class文件 第四步:load ...
  • java从文件,控制台,网页提取数据都是以字节流形式输入,由于编码方式不同,有时候会出现中文乱码javaJDK中有一些类可以很好的解决中文乱码问题; 1)建立一个InputStream对象存储输入的字节流; 2)用...
  • cb对象打印出来的乱码字符串是调试器隐式调用了cb对象的toString方法,所以我们观察 String s = cb.toString() 的运行过程就可以了。 bb对象是一个HeapByteBuffer实例,调用它的asCharBuffer方法后,返回一个...
  • java汉字乱码解决办法

    千次阅读 2021-02-12 16:30:27
    自从接触Java和JSP以来,就不断与Java的中文乱码问题打交道,现在终于得到了彻底的解决,现将我们的解决心得与大家共享。一、Java中文问题的由来Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨...
  • 解决java char数组输出乱码的问题发布时间:2020-08-18 10:08:33来源:亿速云阅读:159作者:小新小编给大家分享一下解决java char数组输出乱码的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下...
  • java字符的编码处理

    千次阅读 2021-02-28 14:15:38
    1. getBytes(charset)这是java字符串处理的一个标准函数,其作用是将字符串所表示的字符按照charset编码,并以字节方式表示。注意字符串java内存中总是按unicode编码存储的。比如"中文",正常情况下(即没有错误的...
  • JAVA根据字符串生成HTML

    千次阅读 2020-12-09 14:37:07
    业务场景 ...可以使用IOUtils,只有配置了java环境可直接使用,无需下载jar包,而且能处理中文这类乱码问题。 InputStream inputStream = org.apache.commons.io.IOUtils.toInputStream(dataStr, "UTF-8");
  • 最近一个 Java 项目需要调用公司的读卡器读取卡号。C 开发提供了一个读取卡号的 DLL。  Java 调用 DLL 无非三种方法:JNI、JNA、JNative  本来 C 开发测试时用了 JNative.jar 来调用 DLL,但是网路上的 ...
  • <%@ page pageEncoding="utf-8" contentType="text/... charset=ISO-8859-1"%>//ISO-8859-1 网页信息 导致乱码 <% response.setCharacterEncoding("utf-8"); //修正 可以正确显示 %> <html> ...
  • java判断字符是否为中文乱码的方法

    千次阅读 2018-05-15 18:42:57
    中文乱码在项目中是经常会遇到的情况。当我们通过设置request和response字符集,但是还是出现中文乱码的时候,... * 判断字符串是否是乱码 * * @param strName 字符串 * @return 是否是乱码 */ public ...
  • 我们在初学Java的时候,做一些测试验证自己的逻辑的时候,会经常用到System.out.println()往控制台打印参数,但是有的时候,会发现打印出来的中文字符串出现乱码。这篇文章讲解下,如何解决这个乱码的问题! 正文: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,423
精华内容 16,969
关键字:

java输出字符串乱码

java 订阅