我可以读一个字阵列从文件中使用扫描仪扫描?

0

的问题

Java。工具.扫描仪可以读取的各种数据类型中包括字节,但是什么字节[]? 我已经搜查的信息Oracle网站及其他网站,但我有麻烦找到的信息扫描字节[],所以我想知道,如果它甚至可能。 我把一个Java课程和我们负责保存加密的密码进入一个字节[],写字节[]文件,然后阅读字节[]。 鉴于要求这个任务,我无法转换成字节[]要一串,它仍然是一个字节[]. -谢谢你提前对你的建议!

java java.util.scanner
2021-11-24 04:12:51
2

最好的答案

3

我们负责保存加密的密码进入一个字节[],写字节[]文件,然后阅读字节[]。

一个 java.util.Scanner 没有必要为这项任务。

你可以写 byte[] 使用 OutputStream 和读取 byte[] 使用 InputStream.

有短切的方法阅读和写作 byte[] 阵列,以及在 Files 用新方法:

  • public static Path write​(Path path, byte[] bytes, OpenOption... options) throws IOException
  • public static byte[] readAllBytes​(Path path) throws IOException
2021-11-24 04:21:24

谢谢你的建议! 这些都是新的方法来我的所以我很乐于了解他们。
mak95

我相信运可能参见j.u.扫描器在上下文的阅读密码从stdin。
Emil Koutanov
2

java.util.Scanner 是一个文字扫描仪。 就是说,它字节读的输入(stdin,说)被期望遵守的某charset,通常UTF-8。

在这种情况下的 nextByte()它不阅读和返回的一个字节的原字节。 而是,它读的文本以及返回的下一个标记作为一个字节。 这里是什么的文件 java.util.Scanner.nextByte(radix) 说(着重部分由我):

如果下一个令牌比赛整数定期表达的上述定义的那么标记是 转换成字节的数值 ,如果通过消除所有区域设置特定的前缀组分离器,并localespecific后缀,然后映非ASCII位成ASCIIdigits通过符。数字,加上anegative号(-)如果该区域特定的负面前缀和后缀正本,和通过导致串字节。parseByte与指定的基.

所以,什么你要做的就是为串并将其转换为字节使用权charset(UTF-8,通常)。

2021-11-24 05:28:28

这非常有意义,我感到如此愚蠢了,我的字节[]中的文件实际上是一串。 我用我的toString方法把它写出来的文件,所以当然我只是需要转换回字节[]一次我读它。 谢谢你的提醒。
mak95

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................