在Java中读取IDX文件类型

我用Java构建了一个图像分类器,我想针对这里提供的图像进行测试:http: //yann.lecun.com/exdb/mnist/ 不幸的是,如果您下载train-images-idx3-ubyte.gz或任何其他3个文件,它们都是文件类型:.idx1-ubyte 第一个问题:我想知道是否有人可以向我提供有关如何将.idx1-ubyte转换为位图(.bmp)文件的说明? 第二个问题:或者我一般如何阅读这些文件? 有关IDX文件格式的信息:IDX文件格式是各种数字类型的向量和多维矩阵的简单格式。 基本格式是: magic number size in dimension 0 size in dimension 1 size in dimension 2 ….. size in dimension N data 幻数是一个整数(MSB优先)。 前2个字节始终为0。 第三个字节编码数据的类型: 0x08: unsigned byte 0x09: signed byte 0x0B: short (2 bytes) 0x0C: int (4 bytes) 0x0D: float (4 bytes) 0x0E: double (8 bytes) 第4个字节编码向量/矩阵的维数:1表示向量,2表示矩阵…. 每个维度的大小为4字节整数(MSB优先,高端,与大多数非英特尔处理器一样)。 数据存储在C数组中,即最后一维中的索引变化最快。

使用Java将BinHex文件转换为普通文件

我有一个binhex文件。 应使用java代码将此文件转换为普通可读文件。 我在这里发现了类似的问题, 使用java代码解码Binhex 但答案是行不通的。 我尝试了Base64,该文件被转换为其他一些人类无法读取的格式。 请帮我解决这个问题。 我试过的代码如下 File f = new File(“Sample.pdf”); Base64 base64 = new Base64(); byte[] b = base64.decode(getBytesFromFile(f)); FileOutputStream fos = new FileOutputStream(“Dcode.pdf”); fos.write(b); fos.close(); public static byte[] getBytesFromFile(File file) throws IOException { InputStream is = new FileInputStream(file); long length = file.length(); byte[] bytes = new byte[(int)length]; int offset = 0; […]

具有自定义背景颜色的Android AlertDialog setMultiChoiceItems

我得到了这个alertDialog,有多项选择: builder.setTitle(R.string.layer_options_title) .setMultiChoiceItems(availableOptions, selectedLayerOptions, new DialogInterface.OnMultiChoiceClickListener() { … }); 哪里 availableOptions = getApplicationContext().getResources().getStringArray(R.array.layer_options); 来自 Should have green background Should have yellow background Should have orange background Should have blue background 有没有办法让这些多选项具有背景颜色?

DBCPConnectionPool用于SQL Server的控制器服务,jdbcexception

在Windows 7和RHEL 7上测试了NiFi 1.1.1。 后台主题​​就在这里 。 我创建了一个指向SQL Server数据库的DBCPConnectionPool控制器服务,我能够从表中获取数据并将其写入本地磁盘(ExecuteSQL – > ConvertAvroToJSON – > PutFile)。 我的代码: public byte[] getMaxLSN(Connection connection, String containerDB) { String dbMaxLSN = “{? = CALL sys.fn_cdc_get_max_lsn()}”; byte[] maxLSN = null; try (final CallableStatement cstmt = connection.prepareCall(dbMaxLSN);) { cstmt.registerOutParameter(1, java.sql.JDBCType.BINARY); cstmt.execute(); if (cstmt.getBytes(1) == null || cstmt.getBytes(1).length <= 0) { System.out.println("Coudln't retrieve the […]

在NetBeansUpdate之后无法编辑JFrame表单

最近,我一直在使用内置的GUI编辑器在NetBeans中开展一个项目。之前我注意到它生成了一个XML“.form”文件,该文件没有出现在Project Explorer窗格中,这是有意义的。 之前我在“设计”选项卡中处理表单时,它通知了我有关15个更新的信息。 我刚刚更新,没有阅读任何可能是一个坏主意但是当我重新启动IDE时,它在Project Explorer中单独显示我的GUI“.class”文件和“.form”文件,我无法在“Source”和“设计”。 我还注意到,通常不可编辑的生成代码现在可以编辑。 PS我能够很好地创建一个新的框架,设计编辑器仍然适用于新的框架

@Dependent @ javax.ejb.Singleton与@ApplicationScoped @ javax.ejb.Singleton?

从本质上讲,这两个类之间有什么区别: @ApplicationScoped @Singleton class A {} @Dependent @Singleton class B {} 上下文EJB实例 在查找EJB时,我不想使用@Inject ,除非EJB是@Stateful ,我希望CDI容器管理有状态的生命周期,这可能非常方便。 否则,使用@Inject检索上下文EJB实例有点危险。 例如,除非我们也编写生产者,否则无法使用CDI检索@Remote客户端视图。 此外,A类和B类不能声明任何其他范围而不是它们目前的范围。 CDI 1.1 ,“3.2会话bean”部分说: 单例bean必须属于@ApplicationScoped范围或@Dependent伪范围。 如果会话bean指定了非法范围,容器会自动检测问题并将其视为定义错误。 因此,除了有状态bean之外,当我去寻找EJB时,我认为使用CDI毫无意义。 一个更成熟的问题版本 从客户端代码的角度来看,使用@Inject来声明对A或B的依赖,我无法想象存在差异。 在这两种情况下,调用都将路由到单例EJB。 如果我是CDI提供者的实现作者,那么我甚至可能在两种情况下注入真正的EJB代理并忽略将来要求销毁依赖CDI代理的调用? 底线是我们可以在EJB单例类上声明两个不同的范围。 那有什么区别?

从元素中使用XSOM获取minOccurs属性

如何使用XSOM解析器从元素中获取minOccurs属性? 我已经看到这个例子来获取与复杂类型相关的属性: private void getAttributes(XSComplexType xsComplexType){ Collection c = xsComplexType.getAttributeUses(); Iterator i = c.iterator();while(i.hasNext()){ XSAttributeDecl attributeDecl = i.next().getDecl(); System.out.println(“type: “+attributeDecl.getType()); System.out.println(“name:”+attributeDecl.getName()); } } 但是,似乎无法找到一种正确的方法来将它从一个元素中取出,例如: 谢谢!

while循环和线程的无限循环问题

使用一个基本的例子来说明我的问题,我有两个几乎相同的代码位。 此代码使while循环无限运行。 private boolean loadAsset() { new Thread(new Runnable() { @Override public void run() { // Do something loaded = true; } }).start(); while (!loaded) { // System.out.println(“Not Loaded”); } System.out.println(“Loaded”); return false; } 但是这个代码(即在while循环中执行某些操作)会导致已成功计算loaded变量,并允许while循环中断并完成方法。 private boolean loadAsset() { new Thread(new Runnable() { @Override public void run() { // Do something loaded = true; } […]

如何在我的程序中获取域名的whois信息?

我想从我的c#/ java程序中获取域名的whois信息。 有一个简单的方法吗?

java自动发送邮件

我希望邮件在特定时间自动发送。 我能够发送邮件,但我不能让它自动完成。 谁能告诉我如何自动发送? 以下是我发送邮件的代码: public class SendEmail { String d_email = “sofien.fkih@gmail.com”, d_password = “”, d_host = “smtp.gmail.com”, d_port = “465”, m_to = “sofien.fkih@gmail.com”, m_subject = “Testing”, m_text = “Hey, this is the testing email.”; // Those are the values that have the email information public void send(String from, String pass, String host, String port, […]