相关疑难解决方法(0)

使用FileWriter(Java)以UTF-8编写文件?

我有以下代码,但我希望它写为UTF-8文件来处理外来字符.有没有办法做到这一点,是否需要有一个参数?

我非常感谢你对此的帮助.谢谢.

try {
  BufferedReader reader = new BufferedReader(new FileReader("C:/Users/Jess/My Documents/actresses.list"));
  writer = new BufferedWriter(new FileWriter("C:/Users/Jess/My Documents/actressesFormatted.csv"));
  while( (line = reader.readLine()) != null) {
    //If the line starts with a tab then we just want to add a movie
    //using the current actor's name.
    if(line.length() == 0)
      continue;
    else if(line.charAt(0) == '\t') {
      readMovieLine2(0, line, surname.toString(), forename.toString());
    } //Else we've reached a new actor
    else {
      readActorName(line);
    }
  }
} catch (IOException e) {
  e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

java unicode file-io file-format utf-8

74
推荐指数
6
解决办法
12万
查看次数

JVM属性-Dfile.encoding = UTF8还是UTF-8?

我想知道将我的文件编码设置为UTF-8的Java虚拟机(JVM)属性的价值是什么.

我放-Dfile.encoding=UTF8-Dfile.encoding=UTF-8

encoding jvm file utf-8

62
推荐指数
5
解决办法
10万
查看次数

JVM的默认编码是什么?

UTF-8是Java中的默认编码吗?
如果没有,我怎么知道默认使用哪种编码?

java encoding jvm character-encoding

50
推荐指数
7
解决办法
10万
查看次数

如何强制使用jar(或运行jar的jvm)utf-8而不是系统的默认编码

我的Windows默认编码是GBK,我的Eclipse完全是utf-8编码的.
因此,在我的Eclipse中运行良好的应用程序崩溃,因为在导出为jar文件时单词变得不可读;
我必须在.bat文件中编写以下行来运行该应用程序

   start java -Dfile.encoding=utf-8 -jar xxx.jar    
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,我可以在源代码中编写一些内容来设置应用程序使用(或jvm运行)utf-8而不是系统的默认编码.

java encoding command-line jar

23
推荐指数
1
解决办法
3万
查看次数

Java:平台在不同平台上的默认字符集?

一些遗留代码依赖于平台的默认字符集进行翻译.对于"西方世界"中的Windows和Linux安装,我知道这意味着什么.但是考虑到俄罗斯或亚洲平台,我完全不确定他们平台的默认字符集是什么(只是UTF-16?).

因此,我想知道执行以下代码行时会得到什么:

System.out.println("Default Charset=" + Charset.defaultCharset());
Run Code Online (Sandbox Code Playgroud)

编辑: 我不想在这里讨论charsets的问题及其与unicode的区别.我只是想收集哪些操作系统将导致什么特定的字符集.请仅发布具体值!

java platform character-encoding

23
推荐指数
2
解决办法
3万
查看次数

Spring-Boot中的application.properties属性的UTF-8编码

在我的application.properties添加一些自定义属性.

custom.mail.property.subject-message=This is a ä ö ü ß problem
Run Code Online (Sandbox Code Playgroud)

在这个类中,我有自定义属性的表示.

@Component
@ConfigurationProperties(prefix="custom.mail.property")
public class MailProperties {
    private String subjectMessage;
    public String getSubjectMessage() {
        return subjectMessage;
    }
    public void setSubjectMessage(String subjectMessage) {
        this.subjectMessage = subjectMessage;
    }
Run Code Online (Sandbox Code Playgroud)

在这里我用我的MailProperties:

@Service
public class SimpleUnknownResponseMessage extends MailProperties implements UnknownResponseMessage{

    private JavaMailSender javaMailSender;

    @Autowired
    public SimpleUnknownResponseMessage(JavaMailSender javaMailSender) {
        this.javaMailSender = javaMailSender;
    }

    @Override
    public void placeUnknownResponse(BookResponse bookResponse) {
        MimeMessage message = javaMailSender.createMimeMessage();
        try {
            MimeMessageHelper helper = new MimeMessageHelper(message, "UTF-8");
            helper.setSubject(this.getSubjectMessage());            
            javaMailSender.send(message); …
Run Code Online (Sandbox Code Playgroud)

java encoding spring utf-8 spring-boot

22
推荐指数
5
解决办法
2万
查看次数

在Windows中更改Tomcat的Charset.defaultCharset

我在Windows 7中使用tomcat 6.0.32.在一个非常简单的servlet中,在init方法中,我正在打印:

System.out.println(Charset.defaultCharset());
Run Code Online (Sandbox Code Playgroud)

输出是:

windows-1253
Run Code Online (Sandbox Code Playgroud)

据我所知,这是tomcat在JVM中的启动方式,因为我在独立的java类中打印相同的内容,并将"UTF8"作为响应.

那么,我怎样才能将其更改为UTF-8?

谢谢

java tomcat servlets character-encoding tomcat6

18
推荐指数
3
解决办法
4万
查看次数

在使用Oracle的Java 7时,File.list()在Mac OS X上错误地检索具有非ASCII字符的文件名

在使用Oracle的Java 7时,我在使用File.list()时遇到问题,文件名在Mac OS X上错误地检索到了非ASCII字符.

我使用以下示例:

import java.io.*;
import java.util.*;

public class ListFiles {

  public static void main(String[] args) 
  {
    try { 
      File folder = new File(".");
      String[] listOfFiles = folder.list(); 
      for (int i = 0; i < listOfFiles.length; i++) 
      {
        System.out.println(listOfFiles[i]);
      }
      Map<String, String> env = System.getenv();
      for (String envName : env.keySet()) {
        System.out.format("%s=%s%n",
            envName,
            env.get(envName));
      }
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
  }

}
Run Code Online (Sandbox Code Playgroud)

使用Apple的Java 6运行此示例,一切都很好:

....
Folder-ÄÖÜäöüß
??.txt
....
Run Code Online (Sandbox Code Playgroud)

使用Oracle的Java 7运行此示例,结果如下:

....
Folder-A??O??U??a??o??u????
??????.txt
....
Run Code Online (Sandbox Code Playgroud)

但是,如果我按如下方式设置环境(在上述两种情况下未设置):

LANG=en_US.UTF-8 …
Run Code Online (Sandbox Code Playgroud)

java macos filenames utf-8

17
推荐指数
1
解决办法
3572
查看次数

将编码设置为FileWriter的UTF-8

下面是我的代码,它打算带两个.ckl文件,比较两个,添加新项目并创建一个新的合并文件.程序在Netbeans中运行时正确执行,但是,当执行.jar时,程序似乎没有以UTF-8编码文件.我对编程很陌生,想知道我可能需要在哪里或如何强制执行这种编码?

**我已经删除了Swing代码和其他行,因此只显示了我的方法,即执行所有比较和合并的方法.

public void mergeFiles(File[] files, File mergedFile) {

    ArrayList<String> list = new ArrayList<String>();

    FileWriter fstream = null;
    BufferedWriter out = null;
    try {
        fstream = new FileWriter(mergedFile, false);
        out = new BufferedWriter(fstream);
      } catch (IOException e1) {
        e1.printStackTrace();
    }
    // Going in a different direction. We are using a couple booleans to tell us when we want to copy or not. So at the beginning since we start
    // with our source file we set copy to true, we …
Run Code Online (Sandbox Code Playgroud)

java encoding utf-8

15
推荐指数
3
解决办法
5万
查看次数

如何从整数值中打印java中的扩展ASCII代码

public static void main(String[] args) 
{
int i=153;
int j=63;
System.out.println((char)i);
System.out.println((char)j);
}


OUTPUT:-
?
?
Run Code Online (Sandbox Code Playgroud)

我有一些想法为什么这个奇怪的输出..但任何人都可以给我一些想法,以便我也可以打印扩展的ASCII ...

java character-encoding extended-ascii

13
推荐指数
2
解决办法
6万
查看次数