如何在Java中将扩展的ASCII字符作为字符串读/写到ANSI编码的文本文件中

拖船

这是我的加密程序。主要用于对文件(文本)进行加密。程序的此部分将List<Integer>元素转换byte []为文本并将其写入文本文件。不幸的是我无法提供算法。

void printit(List<Integer> prnt, File outputFile) throws IOException
{
    StringBuilder building = new StringBuilder(prnt.size());

    for (Integer element : prnt)
 {
     int elmnt = element;
     //building.append(getascii(elmnt));
     building.append((char)elmnt);
 }

    String encryptdtxt=building.toString();
    //System.out.println(encryptdtxt);
    byte [] outputBytes = offo.getBytes();

    FileOutputStream outputStream =new FileOutputStream(outputFile);
    outputStream.write(outputBytes);


    outputStream.close();

}

这是解密程序,其中解密程序从.enc文件获取输入

void getfyle(File inputFile) throws IOException
{
    FileInputStream inputStream = new FileInputStream(inputFile);
    byte[] inputBytes = new byte[(int)inputFile.length()];
    inputStream.read(inputBytes);
    inputStream.close();
    String fylenters = new String(inputBytes);
    for (char a:fylenters.toCharArray())
  {
      usertext.add((int)a);
  }
    for (Integer bk : usertext)
  {
      System.out.println(bk);
  }

}

由于此处使用的方法,在我的算法中,requireList<Integer> byte[]转换为String,然后转换List<Integer>,反之亦然。

加密期间写入文件时的元素与从.enc文件读取的元素不匹配。

是我的转换方法List<Integer>,以byte[]正确的?还是其他问题?我确实知道Java无法打印扩展的ASCII字符,所以我使用了它。但是,即使这样也失败了。它给出了很多?s是否有解决方案?请帮助我..以及其他格式(.png.mp3 .... etc)的处理方法

加密文件的格式可以是除xx以外的任何格式(不必是.enc)。

dave_thompson_085

成千上万种不同的“扩展ASCII”代码,而Java支持大约一百种,但是您必须告诉它使用哪个“字符集”,或者默认值通常会导致数据损坏。

而代表任意的“二进制”字节十六进制或Base64较为常见,经常有必要,如果该字节将存储和/或在保留了所有256个值的方式传递,通常被称为“8位干净”,并且File{Input,Output}Stream做,你可以使用“ ISO-8859-1”可将Javachar代码0-255映射到字节0-255之间或从字节0-255映射出Java代码,因为Unicode部分基于8859-1。

  • 在输入时,读入a byte[],然后new String (bytes, charset)其中charset是名称 "ISO-8859-1"或该名称java.nio.charset.Charset 对象,可以用作java.nio.charset.StandardCharSets.ISO_8859_1; InputStreamReader在该流上创建一个使用该字符集名称或对象从缓冲区或直接从文件读取字节的流,并String从中读取char和/或aReader

  • 在输出上,使用String.getBytes(charset)charset是该charset名称或对象的地方并写出byte[]; 或创建一个OutputStreamWriter上的流写入字节的缓冲器或文件,使用该字符集名或对象,和写字符和/或StringWriter

但你实际上并不需要 char,并StringCharset 所有您实际上想要将一系列Integers作为字节,并读取一系列字节作为Integers。因此,只需执行以下操作:

void printit(List<Integer> prnt, File outputFile) throws IOException
{
    byte[] outputBytes = new byte[prnt.size()]; int i = 0;
    for (Integer element : prnt) outputBytes[i++] = (byte)element;

    FileOutputStream outputStream =new FileOutputStream(outputFile);
    outputStream.write(b);
    outputStream.close();
    // or replace the previous three lines by one
    java.nio.file.Files.write (outputFile.toPath(), outputBytes);
}

void getfyle(File inputFile) throws IOException
{
    FileInputStream inputStream = new FileInputStream(inputFile);
    byte[] inputBytes = new byte[(int)inputFile.length()];
    inputStream.read(inputBytes);
    inputStream.close();
    // or replace those four lines with
    byte[] inputBytes = java.nio.file.Files.readAllBytes (inputFile.toPath());

    for (byte b: inputBytes) System.out.println (b&0xFF);
    // or if you really wanted a list not just a printout
    ArrayList<Integer> list = new ArrayList<Integer>(inputBytes.length);
    for (byte b: inputBytes) list.add (b&0xFF);
    // return list or store it or whatever
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java中将文本文件加载到字符串变量

来自分类Dev

如何在JAVA中的文本文件中查找字符串

来自分类Dev

如何在R Windows中将Unicode字符串写入文本文件?

来自分类Dev

如何在python中将字符串写入/打印到新的文本文件?

来自分类Dev

如何在python中将文本文件的字符串拆分为char和number

来自分类Dev

如何在 Python 3 中将字符串模板保存为文本文件?

来自分类Dev

从文本文件中将字符串值读取到Java中的Java arraylist

来自分类Dev

如何在ReactNative Project中将本地文本文件加载到字符串变量中?

来自分类Dev

如何在文本文件中的包含字符串的行的末尾添加文本?

来自分类Dev

如何在C中替换文本文件中的字符串/短语

来自分类Dev

如何在vb.net中的文本文件中读取重复的字符串

来自分类Dev

如何在文本文件中获取特定字符串

来自分类Dev

如何在文本文件中grep查找包含逗号的以行分隔的字符串?

来自分类Dev

如何在文本文件中搜索字符串并根据结果执行特定操作

来自分类Dev

如何在 Oracle 中添加字符串并使用该字符串名称创建文本文件

来自分类Dev

如何使用Java在文本文件中查找和分隔字符串值?

来自分类Dev

如何使用Java查找和分隔文本文件中的字符串值?

来自分类Dev

如何搜索字符串并替换文本文件中的字符串?

来自分类Dev

从文本文件中读取字符串作为python中的变量

来自分类Dev

如何删除文本文件中的非 ASCII 字符?

来自分类Dev

为什么我的文本文件不能在Java Eclipse中作为字符串读取?

来自分类Dev

如何将文本文件作为字符串读取?

来自分类Dev

如何将文本文件作为const字符串编译到C ++程序中?

来自分类Dev

Python:如何从文本文件中读取一系列字符串作为浮点数?

来自分类Dev

使用文本文件中的字符串作为批量变量

来自分类Dev

Perl 读写带有字符串的文本文件

来自分类Dev

如何在文本文件中的某个字符串之后从python中的文本文件中提取数据?

来自分类Dev

从文本文件java分离字符串输入

来自分类Dev

Java,文本文件到字符串

Related 相关文章

  1. 1

    如何在Java中将文本文件加载到字符串变量

  2. 2

    如何在JAVA中的文本文件中查找字符串

  3. 3

    如何在R Windows中将Unicode字符串写入文本文件?

  4. 4

    如何在python中将字符串写入/打印到新的文本文件?

  5. 5

    如何在python中将文本文件的字符串拆分为char和number

  6. 6

    如何在 Python 3 中将字符串模板保存为文本文件?

  7. 7

    从文本文件中将字符串值读取到Java中的Java arraylist

  8. 8

    如何在ReactNative Project中将本地文本文件加载到字符串变量中?

  9. 9

    如何在文本文件中的包含字符串的行的末尾添加文本?

  10. 10

    如何在C中替换文本文件中的字符串/短语

  11. 11

    如何在vb.net中的文本文件中读取重复的字符串

  12. 12

    如何在文本文件中获取特定字符串

  13. 13

    如何在文本文件中grep查找包含逗号的以行分隔的字符串?

  14. 14

    如何在文本文件中搜索字符串并根据结果执行特定操作

  15. 15

    如何在 Oracle 中添加字符串并使用该字符串名称创建文本文件

  16. 16

    如何使用Java在文本文件中查找和分隔字符串值?

  17. 17

    如何使用Java查找和分隔文本文件中的字符串值?

  18. 18

    如何搜索字符串并替换文本文件中的字符串?

  19. 19

    从文本文件中读取字符串作为python中的变量

  20. 20

    如何删除文本文件中的非 ASCII 字符?

  21. 21

    为什么我的文本文件不能在Java Eclipse中作为字符串读取?

  22. 22

    如何将文本文件作为字符串读取?

  23. 23

    如何将文本文件作为const字符串编译到C ++程序中?

  24. 24

    Python:如何从文本文件中读取一系列字符串作为浮点数?

  25. 25

    使用文本文件中的字符串作为批量变量

  26. 26

    Perl 读写带有字符串的文本文件

  27. 27

    如何在文本文件中的某个字符串之后从python中的文本文件中提取数据?

  28. 28

    从文本文件java分离字符串输入

  29. 29

    Java,文本文件到字符串

热门标签

归档