为什么NPE使用DatatypeConverter的静态方法?

我已经盯着这个短代码太长了,并且不能为我的生活看到它如何在第6行抛出NullPointerException 。为什么NPE? class ConvertTest { public static void main(String[] args) throws Exception { byte[] b = “Ha”.getBytes(“UTF-8”); System.out.println(“bytes: ” + b.length); javax.xml.bind.DatatypeConverter.printBase64Binary(b); // NPE! } } 产量 bytes: 2 Exception in thread “main” java.lang.NullPointerException at javax.xml.bind.DatatypeConverter.printBase64Binary(DatatypeConverter.java:547) at ConvertTest.main(ConvertTest.java:6) Press any key to continue . . . 更新 虽然许多错误报告都指向1.7变种,但我惊讶地看到Eclipse配置为使用1.6.0_32 TextPad发现版本为1.6.0-b105 (甚至没有意识到已经安装了!) 。 两个JRE都失败了NPE。

给定一个长度和一组字符,如何获得所有可能的字符串组合

可能重复: 生成给定字符串的所有排列 给定长度n=4,以及一set of characters -> {‘a’, ‘b’} ,如何编写一些java代码来生成包含集合中字符的长度为n的所有可能字符串? 对于上面的示例,结果应该有2 ^ 4 = 16个字符串,即: aaaa aaab aabb abbb baaa baab babb bbbb bbaa bbab bbba abaa abab abba baba aaba 这是我的代码片段: public void process(String result, String string) { if(string.length() == 0) { System.out.println(result); }else{ for(int i = 0; i < string.length(); i++) { String newResult […]

如何从Eclipse运行Javac

我正在尝试在Eclipse中的已编译的.class文件上运行’javac’工具。 我打开外部工具配置他们填充filds: 位置: C:\ Program Files \ Java \ jdk1.6.0_25 \ bin \ javac.exe 工作目录: $ {workspace_loc:/ Main / bin} 争论: ? 我想问你在Arguments字段中必须写什么,我填写* Location *和Working directory: fields对吗?

使用java播放mp3的LineUnavailableException

我的目标是从Java播放mp3文件。 对于我采用的每种方法,它总是因LineUnavailableException失败。 AudioInputStream inputStream = AudioSystem.getAudioInputStream(new URL(“http://localhost:8080/agriserver/facebook/sound/test6.mp3”)); Clip clip = AudioSystem.getClip(info); clip.open(inputStream); clip.start(); 尝试修复它失败: 使用Sun的mp3插件。 使用Jlayer第三方库 使用Tritonus第三方库 使用Sony Sound Forge,Adobe Sound Booth重新编码mp3,一切都没有运气 使用不同的编码率和采样率重新编码mp3 尝试使用JMF 使用来自互联网的随机mp3,在其他应用程序中可以正常播放 阅读具有相同错误的post。 所有post都没有帮助解决问题的答案。 这是例外: 线程“main”中的exceptionjavax.sound.sampled.LineUnavailableException:格式为MPEG1L3 48000.0 Hz的行,每个样本未知位,立体声,未知帧大小,41.666668帧/秒,不支持。 at com.sun.media.sound.DirectAudioDevice $ DirectDL.implOpen(DirectAudioDevice.java:494) at com.sun.media.sound.DirectAudioDevice $ DirectClip.implOpen(DirectAudioDevice.java:1280) 在com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:107) 在com.sun.media.sound.DirectAudioDevice $ DirectClip.open(DirectAudioDevice.java:1061) 在com.sun.media.sound.DirectAudioDevice $ DirectClip.open(DirectAudioDevice.java:1151) 在Demo.playMp3(Demo.java:83)

Android Marshmallow上的内容提供商结果中缺少短信

自从Samsung S7问世以来,一些文本消息丢失并且从未显示在内容:// sms提供程序URI中。 我注意到在同一个运营商(在这种情况下是T-Mobile)上的多个三星设备(S6和/或S7)之间,但可能不限于此。 这些短信显示在默认的股票消息应用程序中,但我找不到如何访问它们。 请记住,通过该内容提供商,我可以很好地收到97%的短信,但最后3%的人不在我身边。 Uri uri = Uri.parse(“content://sms/”); String[] projection_sms = { “*” }; Cursor cursor = getContentResolver().query(uri, projection_sms, “”, null, null); 我也在SIM卡内查看是否有丢失的短信,但没有发现任何内容: Uri uri = Uri.parse(“content://sms/icc”); 我也经历了所有彩信,发现他们也不在那里。 我只想在这种情况下阅读短信,根据Android文档,您只需要上述权限即可从SMS / MMS数据库中读取。 我意识到在KitKat中有一个更改允许应用程序替换默认的股票应用程序,但在这种特殊情况下我只想阅读短信。 因此,如果这些短信不在数据库中的正确位置且不在SIM卡中,那么它们在地球上(或者我应该在Android中说)会是什么?

尝试使用Apache poi制作简单的PDF文档

我看到互联网上充斥着人们抱怨apache的pdf产品,但我在这里找不到我的特殊用法。 我正在尝试用apache poi做一个简单的Hello World。 现在我的代码如下: public ByteArrayOutputStream export() throws IOException { //Blank Document XWPFDocument document = new XWPFDocument(); //Write the Document in file system ByteArrayOutputStream out = new ByteArrayOutputStream();; //create table XWPFTable table = document.createTable(); XWPFStyles styles = document.createStyles(); styles.setSpellingLanguage(“English”); //create first row XWPFTableRow tableRowOne = table.getRow(0); tableRowOne.getCell(0).setText(“col one, row one”); tableRowOne.addNewTableCell().setText(“col two, row one”); […]

长浮点数输出显示字母

我有以下代码: String curDir = “.”; File fileObject = new File(curDir); File[] fileList = fileObject.listFiles(); float fileLengthMegabytes = (float)fileList[i].length() / 1000000; 方法fileList [i] .length()返回311字节作为Long类型。 前面的代码产生以下输出: 3.88E-4 如何在fileLengthMegabytes变量中获得预期的输出0,000311?

Java是否有复杂数字的类?

Java是否有复杂数字的类?

PolyLine不在路上:它从一个点直接到另一个点

输出是我的地图包含多个点来点击用户的位置,他从那里通过polyLine没有在道路上显示,但显示从一个标记到另一个标记的直线我希望我的pollyline在道路转弯时穿过马路它也应该转向 dataholder = FirebaseDatabase.getInstance().getReference(“UserLocation”); Log.d(“onMapReady”, “iam here”); dataholder.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Log.d(“data”,String.valueOf(dataSnapshot.getValue())); System.out.println(dataSnapshot.getValue()); for (DataSnapshot a : dataSnapshot.getChildren()) { MapData mapData = a.getValue(MapData.class); arrayList.add(mapData); lati.add(arrayList.get(i).getLatituide()); longit.add(arrayList.get(i).getLongitude()); Log.d(“mapi”,”i am in loop”); mMap = googleMap; Double lat = Double.parseDouble(lati.get(i)); Double longi = Double.parseDouble(longit.get(i)); sydney = new LatLng(longi, lat); points.add(sydney); MarkerOptions mop = […]

在构造函数之外的方法中使用构造函数中的变量

如果我有这样的构造函数: public Constructor (int a, int b){ int c = a; int d = b; } 然后,我如何在与构造函数相同的类中的方法中使用变量c和d,因为尝试仅使用方法中的变量名称似乎不起作用?