Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在字节数组中查找单行注释_Java_Bytearray - Fatal编程技术网

Java 在字节数组中查找单行注释

Java 在字节数组中查找单行注释,java,bytearray,Java,Bytearray,是否可以在从文件读入字节数组的一行中找到/的实例,然后从/剪切到输出行的末尾?我正在努力 FileInputStream fis = new FileInputStream(file); byte[] buffer = new byte[8 * 1024]; int read; while ((read = fis.read(buffer)) != -1) { for (int i = 0; i < read; i++) { if (buffer[i]

是否可以在从文件读入字节数组的一行中找到
/
的实例,然后从
/
剪切到输出行的末尾?我正在努力

FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[8 * 1024];
int read;

while ((read = fis.read(buffer)) != -1) 
{
    for (int i = 0; i < read; i++) 
    {
        if (buffer[i] == '//')
        {
            buffer = buffer[0:i];
        }
    }
}
FileInputStream fis=新的FileInputStream(文件);
字节[]缓冲区=新字节[8*1024];
int-read;
而((读=fis.read(缓冲区))!=-1)
{
for(int i=0;i
但是我在
部分的
if(buffer[I]='/'/')
处得到了
无效字符常量。是我做错了什么,还是这根本不可能?

老派的解决方案

for (int i = 0; i < read-1; i++) 
    {
        (if (buffer[i] == '/') && (buffer[i+1]== '/'))
        {
            buffer = buffer[0:i];
        }
    }
for(int i=0;i
'
'
表示一个字符。因为
/
是两个字符,所以这不起作用。必须区分字符和字符串。因此,您必须单独检查字节数组中的两个位置,以确认有两个连续的
/
s。

是否有不使用BufferedReader的原因?因为“//”不是字符,这是字符“/”。有没有办法检查
/
?我确信缓冲区的单个位置不会是“/”,因为这是不可能的。为什么首先要将字符串作为字节读取?使用适当的读卡器读取行,并使用
indexOf()
。在我看来,你似乎在试图用JavaDamn编写C代码,这里有一些有趣的反对者。你能解释一下吗?这样我就能改进答案了?