Ваша проблема в том, что вы используете \ (обратную косую черту) в строке, которая в Java является escape-символом. Чтобы получить реальный \ вам нужно иметь два из них в вашей строке. Итак:
Wanted text: part1\part2
вам нужно иметь
String theString = "part1\\part2";
Так вы на самом деле хотите
String urltext = "http://chart.apis.google.com/chart?cht=tx&chl=1+2%20\\frac{3}{4}";
Кроме того, при успешном выполнении запроса вы получаете изображение (png), которое не следует читать с помощью устройства чтения, которое будет пытаться интерпретировать байты как символы с использованием некоторой кодировки, и это приведет к повреждению данных изображения. Вместо этого используйте поток ввода и запишите содержимое (байты) в файл.
Простой пример без обработки ошибок
public static void main(String[] args) throws IOException {
String urltext = "http://chart.apis.google.com/chart?cht=tx&chl=1+2%20\\frac{3}{4}";
URL url = new URL(urltext);
InputStream in = url.openStream();
FileOutputStream out = new FileOutputStream("TheImage.png");
byte[] buffer = new byte[8*1024];
int readSize;
while ( (readSize = in.read(buffer)) != -1) {
out.write(buffer, 0, readSize);
}
out.close();
in.close();
}