我正在尝试使用Java Scanner从图块读取unicode文本。但是第一行的读数为空白,下一行的读数正确。如果我在文件的第一行中添加英文文本,它将正确读取。谁能解释为什么会这样?
idsale int primary key
idprod int foreign key
quantity int
下面是input.txt内容
create procedure update_stock()
begin
update products
inner join sales on products.idprod = sales.idprod
set products.stock = products.stock-sales.quantity;
end
create procedure add_sale(in s_id int, in p_id int, in qua int)
begin
insert into sales values(s_id, p_id, qua);
call update_stock ();
end
我进行了更多研究,发现它在第一行的开头读取65279个字符,这就是为什么第一行未显示的原因。为什么会这样。
顺便说一句,我没有在输入文件的第一行添加英文文本的阅读问题。
答案 0 :(得分:0)
我尝试运行相同的代码,并将文件内容(粘贴)复制到本地目录中的文件中,这就是程序输出的结果:
নমঃ নমঃ নামো বাঙালাদেশ মম
চির মনোরম চির মধুর
বৃকে নিরবধি বহে শত নদী
চরণে জলধির বাজে নূপুর।।
গ্রীষ্মে নাচে বামা কালবোশেখি ঝড়ে
সহসা বরষাতে কাঁদিয়া ভেঙ্গে পড়ে
শরতে হেসে চলে শেফালিকা-তলে
第一行显示正确,与您在帖子中显示的示例不同。我还尝试了常规的英文字符,它显示出相同的行为。
文件的外观如下:
/tmp> cat input1.txt
নমঃ নমঃ নামো বাঙালাদেশ মম
চির মনোরম চির মধুর
বৃকে নিরবধি বহে শত নদী
চরণে জলধির বাজে নূপুর।।
গ্রীষ্মে নাচে বামা কালবোশেখি ঝড়ে
সহসা বরষাতে কাঁদিয়া ভেঙ্গে পড়ে
শরতে হেসে চলে শেফালিকা-তলে
/tmp> wc -c input1.txt
518 input1.txt
如您所见,文件显示的内容与输出完全相同,wc -c
计算的字符总数仅为518,而不是您在帖子中提到的65K +。您可以重试使用您实际粘贴在问题中的文本吗?