在客户端逐个读取文件并通过套接字发送并逐个打印

我想将一部分文件发送到服务器,然后将其打印在服务器屏幕上…但是dos会读取整个输入…请提示我能做什么….有没有其他方法可以从socket读取流零件并将这些零件复制到文件或打印屏幕上 服务器端: /*Aim:to read file in parts…send part to server…write part in the file..*/ import java.io.*; import java.net.*; public class Tser { public static void main(String a[])throws IOException{ ServerSocket sock=new ServerSocket(6000); Socket csock=sock.accept(); DataInputStream dis=new DataInputStream(csock.getInputStream()); FileWriter fw=new FileWriter(“elephant”); BufferedWriter bw=new BufferedWriter(fw); BufferedInputStream br=new BufferedInputStream(dis); String mess=””;int c; byte b[]=new byte[20]; while(br.read(b,0,20)!=-1) { for(int i=0;i<20;i++) […]

使用java将图像转换为base64

我需要将图像对象转换为base64对象,以便将其加载到客户端的标记中。 但是,我似乎无法弄清楚如何解决这个问题。 是否有人为此我可以轻松使用一段代码? 这就是我用来将外部图像链接转换为图像对象的方法 Image image = null; URL url = new URL(request.getParameter(“hdn_path”)); image = ImageIO.read(url); 我不确定我是否正确的方式。

在类型java.lang.String上找不到属性’someproperty’

我收到此错误,我无法弄清楚问题可能在哪里。 “userid”列位于数据库中并位于bean中。 有人有什么主意吗? org.apache.jasper.JasperException: An exception occurred processing JSP page /user.jsp at line 24 21: 22: 23: User ID : <input type="text" readonly="readonly" name="userid" 24: value="” /> Username : <input 25: type="text" name="firstName" 26: value="” /> LastName : <input 27: type="text" name="lastName" root cause javax.el.PropertyNotFoundException: Property 'userid' not found on type java.lang.String 谢谢。

C ++指针指向Java

我是一个Java菜鸟。 我已经能够掌握将C / C ++指针转换为Java引用的概念,这已经相当顺利。 我点了一段代码指针(即** ptr)。 我需要取消引用指针并更改它指向的指针的值(即* ptr =&newthing;) 这在java中看起来有点难度。 有没有人对如何解决这个问题有任何想法? 快速谷歌搜索没有任何结果。 这是C ++中的代码示例。 我想在java中使用类似的东西,但是ptr_to_ptr变量是一个问题: struct _coord { int x; int y; _coord * next_coordinate; } coordinate_t; coordinate_t buffer[100]; coordinate_t * head; coordinate_t ** ptr_to_ptr; if (wednesday) { ptr_to_ptr = &head; } else { ptr_to_ptr = &head->next_coordinate; } *ptr_to_ptr = &buffer[3]; // <<<—- HOW […]

拆分流并从文本文件中放入列表

如何使用流将我从文本文件中读取的所有元素放入ArrayList 中,其中monitoredData类具有以下3个私有变量: private Date startingTime, Date finishTime, String activityLabel ; File Activities.txt文本如下所示: 2011-11-28 02:27:59 2011-11-28 10:18:11 Sleeping 2011-11-28 10:21:24 2011-11-28 10:23:36 Toileting 2011-11-28 10:25:44 2011-11-28 10:33:00 Showering 2011-11-28 10:34:23 2011-11-28 10:43:00 Breakfast 等等…. 前两个字符串由一个空格分隔,然后是2个标签,再一个空格,2个标签。 String fileName = “D:/Tema 5/Activities.txt”; try (Stream stream = Files.lines(Paths.get(fileName))) { list = (ArrayList) stream .map(w -> w.split(“\t\t”)).flatMap(Arrays::stream) // \\s+ .collect(Collectors.toList()); […]

如何将UTF8转换为Unicode

我尝试将UTF8字符串转换为Java Unicode字符串。 String question = request.getParameter(“searchWord”); byte[] bytes = question.getBytes(); question = new String(bytes, “UTF-8”); 输入是中文字符,当我比较每个字符的hex代码时,它是相同的中文字符。 所以我很确定charset是UTF8。 我哪里出错了?

EntityManager不会看到在其他事务中所做的更改

我正在为GlassFish 2.1.1(JavaEE 5,JPA 1.0,据我所知)编写一些应用程序。 我的servlet中有以下代码(我主要借用Internet上的一些示例): @PersistenceContext(name = “persistence/em”, unitName = “pu”) private EntityManager em; @Resource private UserTransaction utx; @Override protected void doPost(…) { utx.begin(); . . . perform retrieving operations on em . . . utx.rollback(); } web.xml包含以下内容: persistence/em pu 问题是,em没有看到在另一个外部事务中所做的更改。 粗略地说,我从Web浏览器向我的servlet发出请求,查看数据,在SQL控制台中执行一些DML,重新加载servlet页面 – 并且它没有显示任何更改。 我试过使用em.flush , utx.rollback和em.joinTransaction许多组合,但它似乎没有任何好处。 由于我是JPA的新手,所以情况变得复杂,因此我对底层机械的工作原理并不清楚。 所以任何帮助 – 更重要的是 – 对那里发生的事情的解释/链接将非常感激。 谢谢!

java.lang.ArrayIndexOutOfBoundsException:0 – 大于索引的数组?

抛出的exception是否表明数组大于索引? 如果没有,这是什么意思,为什么? 我该如何纠正? 线程“main”中的exceptionjava.lang.ArrayIndexOutOfBoundsException:0在leapyear.LeapYear.main(LeapYear.java:13) public class LeapYear { public static void main(String[] args) { int year = Integer.parseInt(args[0]); boolean isLeapYear; // divisible by 4 isLeapYear = (year % 4 == 0); // divisible by 4 and not 100 isLeapYear = isLeapYear && (year % 100 != 0); // divisible by 4 and not 100 unless […]

为什么STAX解析器认为这是有效的XML 1.0而不是1.1?

在下面的代码示例中,我使用STaX解析器来解析一段XML。 如果我通过它运行xml10,它按预期工作。 xml11字符串(除了xml版本之外是相同的) – 它会抛出NullPointerException。 我在使用JDK 1.6的Mac上运行它。 import javax.xml.namespace.QName; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamConstants; import javax.xml.stream.XMLStreamReader; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.StringReader; import java.util.Stack; /** */ public class StaxSucks { static String xml10 =”\n”+ “”; static String xml11 =”\n”+ “”; static void parse(InputStream is) throws Exception{ final XMLInputFactory factory = XMLInputFactory.newInstance(); factory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE); final XMLStreamReader xmlStreamReader […]

自定义Guice绑定注释与参数

我已经成功创建了一个Guice绑定注释,将单线程java.util.concurrent.ExecutorService实例注入到构造函数中。 这是一个示例用法: public class ContainsSingleThreadedExecutorService { private final ExecutorService executorService; @Inject public ContainsSingleThreadedExecutorService(@SingleThreaded ExecutorService executorService) { this.executorService = executorService; } } 我现在想为multithreading执行程序创建一个类似的注释,在注释中指定ThreadPool大小。 例如: public class ContainsMultiThreadedExecutorService { private final ExecutorService executorService; @Inject public ContainsMultiThreadedExecutorService(@MultiThreaded(poolSize = 5) ExecutorService executorService) { this.executorService = executorService; } } 有没有人知道如何从Guice提供程序访问“poolSize”参数的值?